Eclipse Yoxos Services Downloads Blogs About
Home > Blogs >

Archive for the ‘news’ Category

on Apr 11th, 2012RAP mobile 0.5.6 – New and Noteworthy

RAP mobile is progressing. In this post we’d like to give you a quick update on the latest features in the RAP mobile clients for iOS and Android.

Android

canvas 0.5.6 RAP mobile 0.5.6   New and Noteworthy

Graphical Context

For drawing arbitrary graphical elements in a widget, RAP mobile now supports the Canvas and GC (graphical context) API. This enables a variety of options for designing individual UI elements. The graphical context also lays the foundation for the development of custom widgets.

 

iOS and Android

Non-UI Objects

As we all know, mobile devices are equipped with local sensors and other hardware-based capabilities. With the current release, RAP mobile is ready to handle client side non-UI objects to model the local capabilities of your phone or tablet. In our first example, we developed a geolocation object to support the GPS receivers in mobile devices. In an upcoming blog post, we’ll explain the additions to the API in more detail.

Demos

The latest demos on the RAP mobile website give you a quick look at our latest development efforts. The demos contain videos of both the iOS and the Android platform as well as some code snippets. Follow the links to GIT hub if you want to take a look behind the scenes.

New demo “Dashboard”

android dashboard dual RAP mobile 0.5.6   New and NoteworthyWe have created a new interactive demo called “Dashboard”. Derived from an open information project from a German publisher, the demo graphically displays information about delays in national rail traffic.

Screen Shot 2012 04 11 at 2.31.24 PM RAP mobile 0.5.6   New and Noteworthy

New demo “Geolocation”

The “Geolocation” demo uses RAP mobile’s new object handling feature to interact with your mobile device’s hardware and determines your current location.

on Apr 4th, 2012Modeling Symposium @ EclipseCon North America 2012 – Slides

Thank you to everyone who attended or gave a talk at the modeling symposium. I think we had a very interesting event and we got very good feedback. Maybe the symposium should become an regulary event at EclipseCon’s.

I would like to share the links to the presentations, which were shared with me. If you gave a talk and your slides are missing, please send me the link, I will post it here.

 

Talk 2

Presenter: Mickael Istria

Title: Iterative and agile principles applied to generated code

Slides: http://www.slideshare.net/mickaelistria/iterative-andagilecodegen

 

Talk 3

Title: What’s new in EGF (Eclipse Generation Factories)

Presenter: Benoit Langlois

Slides: http://wiki.eclipse.org/images/4/47/EclipseCon_US_2012-Whats_new_in_EGF.pdf

 

Talk 4

Title: You need to extend your models? EMF Facets vs. EMF Profiles

Presenter: Philip Langer & Hugo Bruneliere

Slides: http://www.slideshare.net/HugoBruneliere/you-need-to-extend-your-models-emf-facet-vs-emf-profiles-12163425

 

Talk 5

Title: EMF Diff/Merge

Presenter: Olivier Constant

Slides: http://wiki.eclipse.org/images/9/98/EclipseCon_US_2012-EDM.pdf

 

Talk 6

Title: The CDO Model Repository

Presenter: Eike Stepper

Slides: http://www.slideshare.net/Holmes70/cdo-ignite-12281516

 

Talk 7

Title: EMFStore

Presenter: Maximilian Kögel

Slides: http://www.slideshare.net/koegel/emfstore-demo-eclipsecon2012

 

Talk 8

Title: EMF Client Platform

Presenter: Jonas Helming

Slides: http://www.slideshare.net/JonasHelming/emf-client-platform-modeling-symposium-eclipsecon-north-america-2012

 

Talk 9

Presenter: Mickael Istria

Title: What’s up GMF Tooling?

Slides: http://www.slideshare.net/mickaelistria/iterative-andagilecodegen

 

Talk 10

Presenter: Andres Alvarez & Ruben de Dios

Title: GMF simple map editor

Slides: GMF Simple Mapping Editor (EMS)

 

Talk 13

Title: MDT/OCL

Presenter: Ed Willink

Slides: http://www.eclipse.org/modeling/mdt/ocl/docs/publications/EclipseConNA2012/EclipseCon2012.pdf

on Mar 30th, 2012RAP mobile 0.5.5 – New and Noteworthy

In this post we’d like to give you a quick overview of the latest in RAP mobile, version 0.5.5.

Android

Support for UI Callback

The UI callback mechanism enables a RAP client to automatically update the UI without user interaction. With this feature we can support progress indicators or updates to displays that are triggered by events on the server side. Watch for examples in the upcoming releases.

Label Alignment

Labels and buttons now follow the SWT alignment styles SWT.LEFT, SWT.LEFT, SWT.CENTER.label alignment RAP mobile 0.5.5   New and Noteworthy

Bug fixes

  • Rotating a device now correctly re-positions a scrolled composite.
  • The vertical alignment of text in a label is now updated correctly when a relayout is triggered.

iOS

Automatic Discovery of Entry Points

To make it easier to access the different entry points of a RAP mobile application running on the server, the iOS client now supports automatic EntryPoint discovery. To list all available EntryPoints, navigate the native client to the server url followed by a “/index.json”. The following URL on the RAP demo server provides you with an example: http://rap.eclipsesource.com/demos-0.5.5/index.json

Property to control idle display

You can now choose to have the display automatically switch off in idle mode or remain on.

Bug fixes

  • Animated widgets are now more stable (they sometimes “jumped” when the animation was playing).
  • We’ve made significant improvements to memory management.
  • TabFolders now support the style argument SWT.TOP.
  • We’ve improved reliability when reloading a session.
  • Centering TITLEs in a ToolBar is now easier – the SWT.SEPARATOR is no longer required.

 

on Mar 23rd, 2012Client-Side input validation with RAP ClientScripting

The RAP team started working on a new feature called ClientScripting. It’s still in it’s infancy and will not (yet) be part of the core framework , but its already very useable. The goal is to allow adding pieces of behavior to the client-components of RAP widgets. This makes it possible to have swift, dynamic user feedback in situations that require a certain amout of logic – so far a problematic scenario for RAP applications. It can be considered an alternative to custom widget development in many cases, and might also save some network traffic. We currently focus on the scenario of validating text input while typing, and will expand from there. Interactions between widgets are not yet possible, but is planned.

As you can test for yourself, the difference between server-side and client-side validation is quite noticeable.

When using ClientScripting, you will need to know very little JavaScript, and all API is as close to SWT as possible. The project has a wiki page with all further information you might need (including where to get the code). Note that you need RAP 1.5M6 or newer to use it. If you try it out, please consider giving some feedback, report bugs or file enhancement requests.

on Mar 23rd, 2012M6 brings markup text support to RAP

The RAP 1.5 M6 milestone build is packed with new features, especially for Trees and Tables. But most notably, you can now use HTML markup in Tables, Trees, and also in Labels:

MarkupInTable M6 brings markup text support to RAP

Just enable the markup support for a certain widget (see below), then you can make its text bold, italic, yellow or … no, not blinking! Actually, RAP will validate the markup and allows only a selection of tags (no <script> tags, please!). But since the <img> tag is in that list, you can add a smiley instead icon wink M6 brings markup text support to RAP .

Table table = new Table( parent, SWT.BORDER );
table.setData( RWT.MARKUP_ENABLED, Boolean.TRUE );
TableItem item = new TableItem( table, SWT.NONE );
item.setText( "Some <em>text</em> with <strong>markup<strong>" );

This also means that you don’t have to break your neck anymore just to add an HTML link to your RAP UI. You can now place real links in any Label or CLabel:

Label label = new Label( parent, SWT.NONE );
label.setData( RWT.MARKUP_ENABLED, Boolean.TRUE );
label.setText( "<a href=\"http://eclipse.org/rap\" target=\"_blank\">RAP project page<a>" );

Don’t like the setData() programming? We don’t like it either. But for now, it’s the simplest way to expose additional functionality without changing the SWT API. For RAP 2.0, we plan to come up with some better API for our extensions.

Try out the markup support in our updated online demo! BTW, did you notice that this is a deep link into the demo application? Yes, there was a bug preventing them from working in RAP for long, and it’s now finally fixed! You can now use the BrowserHistory to navigate to a certain point in your application right on startup. Here’s the link to an example page that shows markup in a Table.

And there are more Table and Tree enhancements, such as the fixed columns support that lets you exclude one or more colums from horizontal scrolling. Check out the full list of changes in the New & Noteworthy.

Get it while it’s hot, this milestone is a must have icon wink M6 brings markup text support to RAP

on Mar 23rd, 2012p2 in DC

Next week I’ll be at EclipseCon in Reston, Virginia.  EclipseCon has always been my favorite conference and if my math hasn’t failed me, this will be my 6th one.

eclipsecon p2 in DC

I’ll be giving two presentations on p2 (and likely spending lots of time in the bar talking about p2).  The first presentation is a very gentle introduction to p2.  In this talk we will introduce p2 more pragmatically, presenting the relevant files (profile, content.xml, …), tools (director, mirror, …) and concepts.

In the second talk, It’s Raining Bytes, we’ll discuss how we scale p2 using a variety of cloud technologies.  In particular, we’ll discuss how we deploy over 64,000 plugins (and over store over 500,000 IUs) using different AWS services.

If you’re interested in p2, Yoxos, Eclipse releng, modeling or anything Eclipse related, look for me in the bar or stop by one of my talks.

I look forward to seeing everyone next week!

on Mar 17th, 2012Eclipse Juno Milestone 6, available for download

EclipseCon is just around the corner (1 week away).

eclipsecon Eclipse Juno Milestone 6, available for download

While many people are busy getting their talks finalized, suitcases packed, and studying their maps of Washington DC, the Eclipse and Equinox teams have been busy pushing towards another milestone for the Eclipse Juno Release.  Eclipse Juno (4.2) Milestone 6 is now available for download.

There are a number of new features, including:

Enhancements to the extension point editor:

extensions2 Eclipse Juno Milestone 6, available for download

Improvements to the editors bracket matching:

enclosing brackets Eclipse Juno Milestone 6, available for download

bracket highlighting preferences Eclipse Juno Milestone 6, available for download

 

SWT Improvements (such as the ability to set custom colors in Color Chooser Dialog):

custom colors Eclipse Juno Milestone 6, available for download

And a number of tweaks to the Java Development Tools such as selectively ignoring warnings on certain folders and CamelCase support in the quick outline view:

ignore warnings source folders 1 Eclipse Juno Milestone 6, available for download

quick outline camel case Eclipse Juno Milestone 6, available for download

Checkout the entire New and Noteworthy, or download the milestone and give it a try:

http://download.eclipse.org/eclipse/downloads/drops4/S-4.2M6-201203151300/index.php

on Mar 15th, 2012Publishing Negation Requirements

The Eclipse provisioning platform (p2) has a pretty awesome resolver (the planner) that computes all the requirements when you try to install something.  It’s this awesome resolver that let’s you install something like the “Eclipse C/C++ Development Tools” without worrying about all the dependencies you need.

Screen Shot 2012 03 14 at 4.34.58 PM Publishing Negation Requirements

When most people think about dependency resolution they think about the requirements that must be present for an install to succeed.  However, that’s not the only type of requirement that exists.  Another requirement is a negation requirement. That is, something that must not exist for the installation to succeed.

A useful example of a negation requirement comes to mind when you think of  RAP (the Rich Ajax Platform). RAP is not intended to be installed into your IDE, but rather it’s meant to be installed in your target platform and deployed into a run-time environment.  If you do install RAP into your IDE then you’re asking for trouble (since RAP is an alternate replacement for SWT, your widget library).  RAP has traditionally used some pretty hacky work-arounds to ensure that it won’t be installed in the IDE.

With the up coming Eclipse milestone (Eclipse Juno M6), you can publish negation requirements. This means, RAP (and other components) can specify requirements that must not exist.  Negation requirements are specified by setting the cardinality (both min and max) to 0.  This is done using the p2.inf file.

Screen Shot 2012 03 14 at 4.40.37 PM Publishing Negation Requirements

In this case, our example feature wil not install if BadFeature is present.  Now, if I build and publish this and try to install, p2 will fail.

Screen Shot 2012 03 14 at 4.23.38 PM Publishing Negation Requirements

But, if I de-select the ‘BadFeature‘, then all is well again.

Screen Shot 2012 03 14 at 4.24.11 PM Publishing Negation Requirements

If you need negation requirements, please try this out when M6 is available and report bugs / feedback.

on Mar 14th, 2012RAP mobile 0.5.4 – New and Noteworthy

In this post we’d like to update you on the latest news in the RAP mobile developer preview.  We’ve just released Version 0.5.4, marking the beginning of a simultaneous release schedule across all our mobile clients. Here is what we think are the most interesting new features.

Android

The Startup page provides shortcuts to access the demo applications

android demo launcher1 RAP mobile 0.5.4   New and NoteworthyPreviously, to access the application demos you needed to manually update the connection urls. With this release you can easily jump into a particular demo when you start the application. Alternatively, you can input  a RAP application server URL to access another application. Of course, this “frontend” is designed to showcase the RAP mobile technology but in a production scenario you would jump right into your own application.

Added support for the Toolbar widget

android toolbar RAP mobile 0.5.4   New and NoteworthyThe android client adds support for the org.eclipse.swt.widgets.ToolBar widget. You can easily place toolbars on any Composite and add ToolItems to it. We currently support the ToolItem styles PUSH and SEPARATOR but more types are planned for the near future. As with all our widgets we closely resemble the holo theme even on older Android 2.x devices. Newer features like a fadeout animation when pushing a tool item are only available on newer Android versions.

Changing the bounds of a widget can now be animated

android animations RAP mobile 0.5.4   New and NoteworthyYou can now apply client side animations to a widget by setting the special custom variant “ANIMATED”. Enabling this property will animate all subsequent changes to the bounds of the particular widget. So for example changing the order of widgets on a composite would nicely slide the widget to its new target position. Also changing the width or height of a widget would animate the change in size. To set the custom variant you need to call:

control.setData( WidgetUtil.CUSTOM_VARIANT, "ANIMATED" );

Updated client to an optimized RAP protocol

The underlying communication protocol between RAP server and clients has been optimized further. The amount of data transferred has been reduced by almost 30%, which results in smaller protocol messages and thereby shorter load times. In fact, the messages now often fit into one “regular” sized TCP package thus requiring even less bandwidth.

Set hints in Text fields via setMessage()

The content hint in a Text field can now also be set via the SWT method Text.setMessage().

iOS

Retina Display, GEOLocation, plus all of the above

Ditto on the features listed for Android – these features and more, are available in the latest iOS client. We’ve added support for the recently released iPad Retina display as well as support for the GEOLocation API.  You’ll find better error handling with support for the new RAP Server/Session timeout as well as better MulitCore performance with GrandCentralDispatch.  And, the latest version is still a svelt 0.5 MB.

Shell animation

You might have already worked with this feature in the previous version of RAP mobile but we’d like to say a little more about this for those who haven’t started working with it yet. The client provides support for the UI paradigms found in most mobile applications, in our case through SWT.Shell. These include fullscreen, sliding areas, user actions and alert/notification dialogs. In an upcoming post we’ll go into detail about how these behaviors look and how you can integrate them into your app.

on Mar 8th, 2012Using Key Events effectively in RAP

Good keyboard controls have become a staple of modern web applications, such as Google Mail, Github (press “?”) and Flickr. However, almost every browser implements key events slightly differently, all with some quirks, and none of them like in SWT. For this reason, key events in RAP had, until recently, several issues and limitations. That is a thing of the past now, as the key events implementation has been largely rewritten in RAP 1.5M5, and now finally works reliably. This also brings some general changes to RAP key event handling.

  • Some keys that didn’t work at all (like arrow-keys in Firefox), work fine now. This also fixes the JFace Content Proposal.
  • Several non-alphanumeric keys had the wrong keycode,  those are fixed.
  • Key events are no longer blocking the UI when sending the Ajax request to the server.
  • There is now a feature called “active keys”, which makes it possible to drastically reduce traffic traffic.  It was already present in RAP 1.4, but has been greatly improved.
  • Another new feature is called “cancel keys”. It allows to suppress the browsers and widgets default operations associated with any given key.
  • The “cancel keys” replace the now-defunct support for the doit flag on key events.

Continue Reading »

© EclipseSource 2008 - 2011