Cairngorm 3.0.2 release

| No Comments

I'm delighted to announce the Cairngorm 3.0.2 release. As you may know by now Cairngorm 3 provides a set of optional Flex utilities libraries for navigation, validation, module loading, reduction of view behavior, task processing and popup management.

The latest version we made is Cairngorm 3.0.2 is made of the following libraries :

Note that all of the above was uploaded in a Cairngorm 3 maven repository.

Please note also that :

  • The Observer, Task, Popup and Validation libraries have been used in production for several years, but Cairngorm 3 marks their first official open-source release.
  • The other libraries (versions 0.*) are less mature and can still considered beta release.
  • Several of the Cairngorm 3 libraries are implemented as extensions to the Parsley Application Framework (as you may have guessed from the above names). In order to take advantage of these libraries, you also need to use Parsley. However, other Cairngorm libraries, such as Observer, Popup, Task and Validation are independent of any third-party framework. The Cairngorm 3 Architecture can also be applied with other third-party libraries and frameworks.
  • We are also currently working at improving Cairngorm 3 wiki
You are encouraged to submit us any bug or feature request at https://bugs.adobe.com/jira/browse/cgm

http://francois.le.droff.com/xwiki/bin/download/Geek/Quality-n-Test-at-ttfx/ttfx-logo.jpg

Yesterday night, I had the chance and pleasure to present with Xavier Agnetti at the Parisian Flex User Group : Les Tontons Flexeurs.

We presented our return of experience around automated testing and quality control on enterprise Flex applications.

I've uploaded the slides on slideshare (they are mostly in english).

Part of the FlexUnit samples we presented and demoed can be found here :

We also discussed Patterns that ease unit testing, for further investigation, have a look at :
It was a very interactive and fun session.
Thank you "Les tontons flexeurs" for inviting us !

The Spring of Flex Remoting - slides & demo

| No Comments

I had the chance to present at the Riveria JUG on Friday, I had one hour to cover a lot of materials. We discussed the Adobe Flash/Flex/AIR/RIA Enterprise Solutions, I also quickly demonstrated Flash Catalyst.


I also took a few minutes to demonstrate the latest spring-flex release through a simple CRUD application named spring-flex-todo. (Beware, the client side is not production ready)


I published this demo source code within the fna V2 project, under a LGPL V3 license :

You'll see how elegant and easy is the Spring-Flex remoting integration; here is for example how I set up a TodoItem CRUD Flex Remoting service

package com.adobe.ac.samples.service.impl;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.flex.remoting.RemotingDestination;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.adobe.ac.samples.dao.TodoItemDaoJpa;

import com.adobe.ac.samples.model.TodoItem;
import com.adobe.ac.samples.service.TodoService;

@Service("todoService")
@RemotingDestination(channels = { "channel-amf" })
@Transactional

public class TodoServiceImpl extends GenericManagerImpl<TodoItem, Integer>

implements TodoService {

@Autowired
public TodoServiceImpl(TodoItemDaoJpa todoItemDao) {
super(todoItemDao);
}

}

Here are the slides associated with this demo: The Spring of Flex Remoting :

For those of you who don't like maven and would like to give this a try, I will provide a ANT version of the build as soon as one of you sends it to me.
What I except from any build is to :

  • be managing Dependencies

  • run the XUnit-Test
  • generate documentation and quality reports
So if you have a such Java/Flex ANT build, please contribute to fna V2.

If you live near by Nice and Sophia, lucky you, be sure to check out the next Riveria JUG events.

Maven on Flex/LiveCycle ES/Adobe projects : How to

| No Comments

Working with maven on pure Java (and thus LiveCycle ES project) is fairly easy, the main challenge is to build/agree/find your livecycle ES jar repositories. Managing Flex project with maven on the opposite can be more challenging.

Doing Flex

FlexMojos

After 127 votes on jira requesting maven support cf. SDK-12730,
the flex team finally announced their pick is flexmojos (*)



At the Flex Community Feedback Forum we once again heard a strong demand for Flex integration with Maven.
We, unfortunately, do not have the resources to work on this feature, but given the high demand, we have changed this feature request's milestone to "SDK Community Fix Candidates"

  • we believe this is a good project for the community to work on.
If you're interested in this feature we hope you'll contribute to the Flex-Mojos project (http://code.google.com/p/flex-mojos/) that has been working on a Maven plugin for Flex. In particular, they are looking for help to provide better AIR support. For further discussion, please post to the forums (http://www.adobeforums.com/webx/.59b7e646).

Good for me/us, our pick(*) (for fna) is flexmojos as well, the other good news are

  • version 3 of this maven plugin is now being sponsored by sonatype (VELO the author of flexmojos has been hired by sonatype a few months ago)
  • on top of that, m2eclipse support for FB is coming . cf. http://jira.codehaus.org/browse/MNGECLIPSE-598

Other challenges:

  • provide a maven archetype for quickstarting BlazeDS projects cf. BLZ-44
    • fna provides it now , but the lcds archetype is yet to come
  • Put BlazeDS WAR and libraries in a public Maven repository cf. BLZ-71
    • same for lcds, but now at least internally the nexus tsi server is providing that
  • Apps in non-main source folders are not yet supported, that sucks for maven projects cf. FB-8757
  • this other compilers bug can be annoying as well SDK-15406,
    • the compilers tells you have Error: Invalid Embed directive in stylesheet when you are just missing a dependency or a class.

Maven, Eclipse and FlexBuilder

Maven has now failry good maven support thanks to M2Eclipse (**)

m2eclipse support for FB is not there yet cf. http://jira.codehaus.org/browse/MNGECLIPSE-598 But it's nevertheless perfetly feasible to work with FB and a maven build.

One of them is to add a M2_REPO linked resource that will be use in the FB build classpath.

Flex and Maven, further reading

I gathered quite a few links and tutorials at

Finding your artefacts, building your repositories

The next challenge when you are building project on top of Adobe products is that, none of them are released on maven central repositories.
You have to find (and often create) your archetypes elsewhere.


Non official Maven Adobe repositories

Here is the list I came up with, so far:


Do you know any others ?

What I do is that I proxy and aggregate those repositories with other Adobe proprietary LiveCycle ES and lcds artefacts through a Nexus Maven Repository Manager for my entreprise projects.

What about you ?

Next Challenges : groupIds, artifactIds and dependencies standardisation

What groupId for livecyle ? lcds ? blazeds ? flexunit ? cairngorm ?
What are their dependencies ?
I should not be the one to say, though I did (within the fna repositories at least for flexunit, cairngorm, blazeds and a few other open source flex libraries)


But that should be done by the product team.
Today it's not. It's a shame and it's error prone.


So go and vote for those bugs :





(*) : Though, alternatives exist :like http://www.servebox.org/maven-flex-plugin/ looks also good to me, have you tried it ?
(**) : Though, alternatives like q4e looks also good to me, have you tried it ?

Flex for Java developers (at the BreizhJUG)

| No Comments

Yesterday I had the chance to present at the BreizhJUG (a Breton Java user group) a session named "Flex for Java Developers". A crowd of almost 100 happy Java developers and architects was willing to know more about Flex.

I had an an hour and half to cover :

  • a basic presentation of the flash and AIR platforms,

  • cool UX flash/flex/AIR demos

  • the latest great features of flash 10

  • and flex, and its ecosystem from a Java developer perspective (mvn framework, testing libraries, building and quality tools, blazeds, lcds)

I ended up the session presenting fna maven archetypes. I prepared some new fna features for this talk. Those features are still under development but are already available in SNAPSHOT releases :

  • I added flexbuilder support to some of my archetypes. (Taking as a start the simpler of all the fna archetypes, the flex-library-archetype)

  • I also upgraded the archetypes with flexmojos 2.0 support and up to the latest Flex SDK

Have a look atmy other blog to look up for details and for the presentation I uploaded on slideshare

Recent Comments

  • Marcelo: Hi, i was testing you archetype and i found it read more
  • ryan: two words: fucken a. read more
  • serge: Hi, I have a "Embedded error: OldArchetype does not exist." read more
  • Nicolas Martignole: This is really a great idea. I've been looking for read more
  • dialloma: Hello François, I want to try your archetype. I have read more

Find recent content on the main index or look in the archives to find all content.