Archive for the 'social' Category

Jul 26 2010

More and more ways to contribute to Alfresco

Published by admin under accp, opensource, social, alfresco

Short informative bulletin for Open Source (and especially, of course, Alfresco) Contributors, with two big news on the radar I thought you should be aware of.

ACCP  (Alfresco Community Committer Program)

Did you know that Alfresco is organizing an Apache style meritocracy based Community contribution program? Did you know that it’s completely community driven and you can participate by proposing your project for incubation?

A full initial committee is ready now to start incubating and progressively gather quality open source solutions hosted by Alfresco. If you’re interested in participating and contributing your project, visit the Alfresco ACCP dedicated wiki page and register for the ACCP introductory webinar we’re organizing on July 28th ( 8am PT, 11am ET, 4pm UK)

Alfresco Developer Conference

A all-rounder technical introduction to Alfresco (from noobs to hard core Alfresco rock stars) 2 days conference will be hosted in Paris AND New York after summer, under the name of Alfresco Developer ConferenceRegistration is already open for Paris and we’re very excited to foresee 48 hours full immersion in the newest technical bits and new frontiers of ECM using Alfresco. While we’re still working on the details, the three main tracks we’re likely to cover are CMIS, WCM and Repository services. I’d be happy to gather and bring to the organization committee any feedback on topics you’d like to discuss or see covered during these session, so don’t be shy and shoot your comments :)

One response so far

Oct 19 2009

Maven and Chemistry strike back … a Maven archetype as CMIS Labs and toolkit

CMIS is cool indeed, and especially working on it with Open Source tools like Alfresco, Maven and Chemistry can result in quite a bit of fun.

I’ve been working quite a lot lately on producing some sample and training material for the coming Alfresco meetups (tomorrow I’ll be presenting the CMIS Master class  live from Madrid), and so I decided to mix and match the two things I can do best:

  • Using my beloved Apache Maven
  • Using the Chemistry AtomPub TCK (former Alfresco CMIS TCK) that we contributed to ASF to provide high level access to the CMIS ReST API

This effort, which I’ll probably heavily use in the next days Master Classes and training session, turned out to be quite productive as in a couple of days of work I was able to:

  • develop a Labs framework which wraps Chemistry TCK embedded CMISClient
  • provide an easy CMIS 0.62 application(s) scaffolding platform using a Maven multimodule project
  • produce and release a Maven archetype which is now hosted our partner Sourcesense repositories ( big thanks go to this folks for being always supportive with their Maven maven infrastructure) and can be used as CMIS launchpad / labs / toolkit

Trying it is very easy, due to Maven archetypes power, and you can have the full Labs toolkit downloaded and installed on your by just selecting ‘cmis-master-labs-archetype‘ in the options of the command below:

EDIT

mvn archetype:generate 
-DarchetypeCatalog=http://maven.alfresco.com/nexus/content/repositories/releases/archetype-catalog.xml
mvn archetype:generate 
-DarchetypeCatalog=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.releases/archetype-catalog.xml

mvn archetype:generate -DarchetypeRepository=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.snapshots -DarchetypeGroupId=org.alfresco.enablement.codecamps.cmis -DarchetypeArtifactId=cmis-master-labs-archetype -DarchetypeVersion=1.0

This will create a multiproject structure ready for use. You’ll just need to configure (in a single sourced fashion for the whole suite)  the CMIS endpoint properties in the main POM, by editing the following properties:

<!-- SINGLE POINT OF CONFIGURATION FOR CMIS ENDPOINT -->
<properties>
<!-- Configure here the CMIS endopoint For the whole suite -->
<cmisserviceurl>http://192.168.154.128:8080/alfresco/service/api/cmis</cmisserviceurl>
<cmisusername>admin</cmisusername>
<cmispassword>admin</cmispassword>
<cmistracerequests>true</cmistracerequests>
<cmisvalidateatom>true</cmisvalidateatom>
</properties>

All the nice tracing and validation features of the Chemistry TCK are exposed, once that you configured the POM to point to a proper CMIS 0.62 compliant server (e.g. Alfresco, and an Ubuntu Alfresco VM is available here for this purpose). Specifically the toolkit offers 3 Maven submodules

  • cmis-support –> Support JAR which wraps Chemistry TCK CMISClient
  • cmis-query-webapp –> Very basic SpringMVC webapp querying a CMIS repository and showing results/entries
  • cmis-lab-atompub-binding –> Learning lab on how to import data in Alfresco (complete class in the solution folders)

and a lab-solutions folder.

Using it is pretty straighforward. A simple

mvn install

will test the support against the provided configuration, while entering the cmis-query-webapp folder and running

mvn jetty:run-exploded

will result in the (quite ugly) but functional CMIS Query interface you can see below:

CMIS Query Webapp

using a simple three tiered architecture like the one that follows:

CMIS Query Webapp architecture

Lastly entering the lab-atompub-binding folder and running

mvn test

will run the sample JUnit empty test for the data import lab. Solution (real Test class) is to be found in the labs-solutions  folder.

It’s a beginning but I believe it’s a very nice tool to overcome the somehow still steep learning curve around CMIS, so I warmly suggest you start installing the VM and the archetype and play around with it, and even use it as start for your integration/contribution projects. Especially if you are going to attend Alfresco meetups this month. I’ll surely post the Labs slides later this month, so stay posted!

EDIT

The CMIS 1.0 Public Review compliant toolkit (working against Chemistry AtomPub TCK Trunk 1.0) is available on the Sourcesense repository and it’s added to the remote catalo mentioned in the previous command.

As a side note, at the moment this toolkit provide support for CMIS 0.62 while http://cmis.alfresco.com is Alfresco supporting CMIS 0.70: I’m planning to update the archetype (just a mere Maven dependency :) ) to use the HEAD version of Chemistry TCK that is supporting 0.70.

Feedback welcome as usual!

Hope this really helps :)

2 responses so far

Jun 30 2009

The world is getting Calm ;)

Just a fast heads up, I posted a nice wrap-up and introduction for Maven Calm on The Server Side!

Comment and community contributions are more than welcome!

See you soon in the Calm-o-sphere ;)

No responses yet

Jun 15 2009

Italian fascists are pushing back and they are not too far

Published by admin under italy, social

Sorry to have such a eye-catching title, but that’s not cool, way not cool.
After coming back from a nice business week in Italy, once again appreciating the good weather, people and food of my city, Rome, I sadly had once again to see how my beloved home country, Italy, is going in a direction I really was fearing.

Recently, Berlusconi’s Italian government has started the legalization process for a best practice of Italian of Fascism: during those 20 years, self organized fascist citizen patrols were referred as  “squadre” for a phenomenon called “squadrismo”, meaning having a sort of non military vigilantes all around the Italian territory. Those phenomenon shortly lead to the diffusion of Blackshirts which performed politic cleaning, opening the road for the state Fascism and the march on Rome.

The government, constantly leveraging old racist fears, was almost forced by Lega Nord (the secessionist north Italy party) to legalize local “Ronde” (patrols) by the so called “Camicie Verdi” (green shirts),  which are mainly northern Lega Nord followers who desire to promote some old fashioned self social security model.

But what has convinced me it was the time to post about what was just a dangerous and annoying thought until now, is the fact that the Italian National Guard  (very similar to Mussolini’s Italian National Republic Guard), a neo-fascist NPO managed by ex-convicted characters and ex-army figures is claiming to have at least 2k people ready to be sent in the street in complete legality when the new security law will complete its approval process going back to the Senate.

It does not take a genious to see where this is going: Berlusconi already had a 5 years bullet-proof legislation in which he consolidated media control and economic power, now it’s time wants to complete his masterpiece, Italy under his complete power, before the end of this one. Not that I was not expecting it, maybe I was just not expecting it to happen so fast.

I don’t think I’m an alarmist here saying that we need to do something for our country, Italy, and especially if you live abroad like me, this can be very difficult if we approach it in the classical italian way: each one on his own, and let’s hope in a better future. We need to create a critical communication mass to tell the world what’s actually going on in Italy, have international attention on the topic so that this and the many other neo-con and neo-fascist activities of this government are stopped.

I really see not that much difference from what’s going on in Italy and what happened so many times in the past and all over the world: Berlusconi might be a bit more charmy and wearing italian clothes, but, world, don’t let yourself fooled. He’s just a very smart guy, doing his own interest and driving

I’m sure Mr. Obama won’t , in the day of Berlusconi’s visit to the White House, he should ask him something like :

How come, Mr.Berlusconi, you’re trying to legalize and re-create that fascist movement my country has spent so many lives for helping you in eradicating it?

In general, everyone Italian and foreigner, should ask himself:

what is the big difference between what’s going on in Italy and the pattern we have learned from history on how most dictatorships have begun?

Sorry but I can’t see any: here we have media control, fear based politics (communists or immigrates or you tell me the next one), army deployed all over italy (for security reasons), now we also have legal Fascist “squadre” that in a short time are going to give you a warm welcome when you go to Italy.

A refreshing touch of history, back to the latest dark age of our country. A blog post is the least anyone should do (still searching for something more effective) to spread this message, raise critics and move public opinion towards a modern view of society, instead of digging in too-recent-to-be-forgotten extreme political measures.

I’m seriously worried.

4 responses so far

Dec 02 2008

[HowTo] Give your multimodule Maven build subproject/environment specific behavior

Published by admin under maven, social, Sourcesense

When building a multimodule project in Maven, you often use POM inheritance to centralize plugin configuration and even executions. While centralized configuration is most of time fairly straightforward, the centralization of a plugin definition may force (or try to force) all or your submodules to follow the same *customized* build lifecycle which may even not apply to their packaging.

Think for example of having a cargo-maven-plugin configuration centralized for a project of 3 WAR projects and a JAR: I don’t think your appserver will be happy of receiving a your JAR as a deployable because you too smartly centralized a configuration which deploys after the packaging phase (I wouldn’t be happy either… ;) )

I solved this problem using profiles and working on the fact that a profile is inherited only when it’s defined also in the child pom, so not definying your plugin/plugins configuration in the main build.

I have a project structure composed of multiple (WAR and JAR) artifacts with cross dependencies and a super pom, something like:

project_root
|-- project_war1
|-- project_war2
|-- project_jar1

So basically I have a (for jboss using cargo) a super pom which defines all cargo plugin configuration in a profile called ‘deploy’ , which goes something like this:

<profile>
<!-- Profile to deploy to a local jboss instance, due to http://jira.codehaus.org/browse/CARGO-416 -->
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>jboss4x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.hostname>${cargo.hostname}</cargo.hostname>
<cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
<cargo.remote.password>${cargo.remote.password}</cargo.remote.password>
<cargo.remote.username>${cargo.remote.username}</cargo.remote.username>
</properties>
</configuration>
</configuration>
</plugin>
</plugins>
</build>
</profile>

Properties for this profile are configured in the superpom <properties> section, which goes something like:
<properties>
<!-- src/main/properties/<env>/application.properties is loaded for all subproject -->
<env>local</env>
<cargo.hostname>localhost</cargo.hostname>
<cargo.remote.password/>
<cargo.remote.username/>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>

Then, for every project which I’d like to deploy I configure in the specific child pom an profile with same id (”deploy” in our case) as this one which actually binds the specified plugin configuration to an actual lifecycle phase (typically in the pre-integration-test):


<profile>
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<executions>
<execution>
<id>deploy</id>

<goals>
<goal>deployer-redeploy</goal>
</goals>
<phase>pre-integration-test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

So basically running my build from the super pom by explicitly activating the plugin (because according to [1] inherited profiles only gets run  if explicitly called by id with -P option and not with the other activation methods described here [2] ):

mvn clean install -P deploy

I get only the selected sub projects to be deployed with cargo while other projects (that do not inherit the profile) will only run the default build lifecycle (so with neither cargo configuaration nor binding it to a phase).

As a side note, I also use “environmental” profiles (using the <env> variable) so that different cargo (buildtime) properties and and application (runtime) properties are selected, e.g. :


<profile>
<id>accpt</id>
<properties>
<cargo.hostname>accpt.yourcompany.com</cargo.hostname>
<cargo.remote.password>accptJbossPassword</cargo.remote.password>
<cargo.remote.username>accptJbossUsername</cargo.remote.username>
<cargo.servlet.port>80</cargo.servlet.port>
<env>test</env>
</properties>
</profile>

which allows me to have my selected subprojects deployed to different environment by combining profiles:

mvn clean install -Pdeploy,accpt

I believe deploying and one of the things which maven does best, and hopefully this post can let you have a better understanding of which degree of configurability you can get with can get with this tool!

Enjoy!

2 responses so far

Jul 31 2008

Maven for Alfresco on Google Code

Published by gab under maven, social, Sourcesense, alfresco

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…

No responses yet

Jul 28 2008

Back to the cold…no sorry, hot and humid. But that’s Netherlands and we’ll have to live with that :)

Published by admin under netherlands, italy, personal, social, funtime

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.

No responses yet

May 06 2008

Back to (second) life

Published by admin under personal, social

The few fellow readers (or just occasional surfers as Google Analytics cleverly notifies me) of this blog may have worried about my health, knowing how social and verbose I am, when seeing this blog silent for more than one year. Not that before this was the most active blog ever, but almost 15 months of silence, well, that’s sound kind of rude to the whole social revolution I’m taking part in.
Especially because it’s in the last 12 months that the biggest change in my life happened, both on the personal side with relocation to Amsterdam, working for Sourcesense Netherlands, and on the professional side in which I grew enormously to the role of Alfresco ECM Architect.

Continue Reading »

No responses yet