Archive for July, 2008

Maybe it’s more social 2.0, maybe it’s more open source but on the other hand we the “big brother” threat is still there.
Anyways, for the record I moved the m2alfresco Alfresco Forge project to a better and safer place on Google Code, under the new fancy name of maven-alfresco-archetypes.

We’ve a Subversion repository, a Sourcesense hosted Maven2 repository, a mailing list (maven-alfresco nospam at nospam googlegroups.com) and a partner maintaned page on the Alfresco wiki.

Let’s assist and take part to the community miracle ;)

I’ll see you there…

Yesterday night I flew back to The Netherlands from my (first bunch of) holidays, finding (expectedly) the typical, so too typical, dutch rain and  (pretty much less expectedly) a oustandingly hot temperature but far more humid than the weather I just left: I’ve been in fact  to the best place ever to have vacation, guess where…Italy of course ;)

And particularly I enjoyed Ponza, a wonderful island between Roma and Napoli,  in the so called Pontine islands. Special time, relaxing time, during which I realized what was probably inconsciously already motivating my last years decisions to expatriate from Italy and work in Holland, and that is:

Italy is the country of your (or my) dreams when it comes to holiday, relax, well being, easy life, good food and emotions; wherever you go you will find sociality and nature, fun and good mood no matter what.

Holland is instead the ideal place to work, to do your (or my) business in the most optimized possible way, offering a noticeably positive balance between quality of life and quality of work, and a wage/tax conditions people of my same age/education in Italy can only dream about.

But warning: don’t let homesickness gets you mistaken, don’t think that you miss Italy 100% until you come back there and just gave a fast glance at what’s going on down there, the sad staticity so well depicted by the Ecomonist (not exactly one of those “communist” newspaper Berlusconi keep on threatening Italians about) and in general the stressed (because money is running out) but still boastful country in which people keep opening mortgages to go on vacation, almost at the point not to eat to save money to show out a little bit.

“Not too bright folks, not too @$%#!ng bright”
(just to quote a genius men called George Carlin, recently passed away, as he would have hated to say he was dead :) )

So I realized that until things don’t change, Holland or any other real country (sadly under too many POVs)  is the only solution to have a rewarding fair career which does not overburn you, that maks you feel capable of moving, of evolving.
But then as soon as I can have holidays, well, then no comparison is possible: sun, seaside, culture, landscape variety (can’t stand anymore flat low land :) ), colors, food, family, friends, mood, empathy and too many other things make Italy the place where I really would like to be.

To everything there’s a season, said someone in the past. And I probably found it out now.

After struggling a bit too much with the maven-release-plugin under Apache Maven 2.0.9 and hierachical projects, I was finally able to release full support for Maven based Alfresco ECM lifecycle.

As I was mentioning in previous post, despite being one of the best piece of software I’ve worked on, Alfresco still lacks a lot in Enterprise ready delivery of its customizations, providing solutions based on Ant and custom tools like the Alfresco Module Management Tool which does not really fit in environments where control over versions, complex interdependent grids of applications are deployed on top of Alfresco, or simply when you not willing to perfom the (typically open source related) web googling-crawling to make that damn thing work.

In this sense I developed, based on successful internal Sourcesense and end customers implementations, a full support for Maven based Alfresco customizations. It’s documented in the Alfresco wiki, but basically comprise:

  • A maven-alfresco-extension-archetype which allows creation of a custom build of Alfresco community/enterprise,  basically producing a WAR as main build artifact, storing all customization in the alfresco/extension folder (Convention Over Configuration). All dependent AMPs (yes, we support AMP dependencies ;) ) are included in the WAR. Typical usage scenario is the main Enterprise Alfresco build which includes base configuration settings (e.g. db, alf_data, custom model) then can include many satellite modules (AMPs produced by the maven-alfresco-amp-archetype)
  • A maven-alfresco-amp-archetype which allows creation of an Alfresco compatible custom AMP (Alfresco Module Package) .  basically producing a .amp  as main build artifact. The produced AMP is configured in the alfresco/modules/{pom.groupId}.{pom.artifactId} without requiring manual developer synchronization between module name and POM properties.
  • A maven-amp-plugin providing support for .amp files lifecycle, handling archiving, unarchiving, dependencies, install and deployment on enteprise repos

Cool features which you may find handy as a developer are

  • One commad creation of archetype from remote Sourcesense repositories (only maven 2.0.9 installed is required)
  • maven-jetty-plugin embedded run for integration testing,
  • environment dependent and single sourcing of application properties,
  • jboss/tomcat local/remote deployment with Cargo
  • Easy integration with other opensource frameworks due to wide Maven support

while as an enterprise release manager you could appreciate

Hopefully it can really gear contributions on Alfresco and grow it to the open source mature development process we try to deliver every day: and be careful, this is not only a Sourcesense marketing ad, but an approach already proof to be a development booster  on my project on a day by day basis since almost a year. And considering Alfresco 3.0 will be fairly modular, I think Maven has a point.

Give it a spin and let me know…

Issues are always welcome ;)