Showing posts with label flex. Show all posts
Showing posts with label flex. Show all posts

Friday, August 22, 2008

Adode AIR Summer Camp 2008

Coming back from the Adobe AIR Summer Camp 2008 (Benelux) in Dinant, Belgium.

During this 2 days event, we had the opportunity to delve into AIR APIs and put them in practice for the application contest.
Winners of the contest win a ticket for the Adobe MAX Europe conference in Milan, Italy.
All teams had one day (a few hours actually) to develop an original AIR application.
This year there were 2 tracks : Enterprise and Creative.

Together with a colleague we developed a Desktop Portal; the concept behind this application is to provide a way for users to work with micro applications instead of having to deal with large and monolithic applications.
The main technical characteristic of this application is that the 'widgets' are actually modules (swf) that are loaded at runtime when the user select them from the application list.

We integrated several widgets from the community : Calendar, Degrafa clock, Yahoo Weather and developed some custom ones : TODO List (with SQLite local persistence) and Mini-Browser.



The goal was also to provide a way for third parties to build their own widgets (modules) so that they could be shared (downloaded from a repository) and installed in the Desktop Portal.
Unfortunately, after a few hours we had to give up trying to load modules from the file system.
Indeed, in AIR, modules loaded from the file system are running outside the application sandbox with limited privileges.
If any one knows how to bypass this security restriction (either by 'signing' modules or loading them from a trusted store), please let me know ... the Adobe team present at the event could not help me on this topic.

Competition at this event was tough and we finally failed to win it (snif).
Anyway, this was a great event with outside activities (drop and paintball), great technology and motivated people.



Winners of the enterprise track presented an application called hAIRy a kind of small (rude) character used to interact with buddies (I actually didn't understand the whole concept but the demo was cool).
In the Creative track, the guys from Techmonk implemented an impressive and very funny game call BubbleTrouble and logically won the creative contest.

So that's it. I thank the Adobe benelux team for this nice event and hope I'll get an invitation for next year's AIR summer camp ...

Wednesday, July 9, 2008

Excluding properties from Java - ActionScript serialization

Recently I have found a way to exclude a property from Java to ActionScript serialization.
We had to use this trick to prevent a property added by Hibernate on persisted objects to be serialized.

The trick is to use an undocumented (public static) method of LiveCycle Data Services / BlazeDS BeanProxy class:

static {
    flex.messaging.io.BeanProxy.addIgnoreProperty(MyClass.class, "myproperty");
}

Just specify the target class and property and it will be excluded from serialization.
Of course, this is not a very elegant way to achieve this but when you have no other choice (like in our case where we could not use a transient field) this can be handy.

Friday, June 13, 2008

create your own ActionScript global function

Simply by declaring an ActionScript class at the root of Flex classpath with the same name as the function :

create ActionScript class : doLog.as

package {
public function doLog(message:String):void {
trace(message);
}
}


you can now simply use it anywhere in your application without any import statement.