My #AlfrescoSummit 2014 San Francisco recap, and tips for a successful Alfresco project!

Last week’s Alfresco’s Summit in San Francisco was a blast. Every single day. Every single moment (ok well not the night before the preso, when I had to finish

Here’s a day by day recap of my #AlfrescoSummit, the uncountable reasons why I love this event and why you might want to book a last minute spot at Alfresco Summit, and join us in London next week:

Maven Hipsters
Mehven hipsters sabotage!
  • On day 1: together with Mao, we delivered a 4 hands talk called “Get Your Alfresco Project from Zero to Hero with Maven Alfresco SDK and Alfresco Boxes”, finally covering the automation of the full Alfresco project lifecycle! Check out the slides below, for the ultimate approach to Alfresco project lifecycle, a combination of the:
    • the world class developer experience provided by the Alfresco SDK 2.0
    • the highly automated provisioning / deployment of arbitrarily complex architectures provided by Alfresco Boxes (supporting technologies like Vagrant, Packer, Docker and chef-alfresco).

  • On day 2: I delivered a (hopefully) very well received talk called “10 things you need to know to have a successful Alfresco Project”. I tried in a few slides to gather the top ten common mistakes or overlooks I have seen in my now 7+ years of Alfresco career, in every phase of the project lifecycle, from inception to development, from release to deployment and distribution. As part of this talk, I also introduced for the first time a pilot of the Alfresco Developer Support service, a support add-on package dedicated to Enterprise customers and partners who extensively develop on our platforms and require access to highly skilled senior Alfresco engineers on development matters. Check out the slides below and don’t hesitate reaching out to me if you are interested in the Dev Support service:

On top of my contributions to this Summit, it’s been amazing to:

  • Attend Doug’s, John‘s and Thomas’ keynotes, which were were simply FANTASTIC! So excited to be part of a hugely growing product, which is revolutionizing the way knowledge workers can be  productive in their daily job, while being fully engaged and driving the humongous amount of content that we produce everyday to the degree of control the modern Enterprise requires. Come and join in London for this fantastic outlook on the upcoming Alfresco 5!
  • Get to meet (again) many of the Alfresco gurus I remotely work with on a daily basis. Spending a whole week with great Alfrescans like Peter Monks, Maurizio Pillitu, Greg Mehlan, Gethin James and so many other is really refreshing! Not just from a purely technical standpoint, but most importantly that’s was REAL fun – as Peter’s picture clearly here on the right shows – btw the Italian mullet is a present of mine!)

    Peter Monks, the first Mulleteer! :)
    Peter Monks, the first Mulleteer! 🙂
  • Network with so many smart partners and customers, getting their feedback on the product, the SDK and how we can help driving you to continuous customer success!
  • Get to meet the Community and not only get (very personally satisfying, have to admit) exciting feedback on the SDK 2.x version but also seeing Order of the Bee t-shirts proliferating was a really positive sign of a growing, lively and never so important Alfresco Community! Nice to see you again Bindu and looking forward to see you Ole! (just to name 2!)

Well I hope I have given you one more reason to come and see us at Summit.

Especially as I relocated to the US, I really look forward to meet many of the long term Alfrescans Community & Enterprise members of the good old European community next week in London!

See you there? 🙂

What’s happening with the Maven Alfresco SDK? Get ready for 2.x!

After about 10 (really very busy) months of silence in this blog, I think I owe everyone an update of what’s going on with the Maven Alfresco SDK and more in general with Maven and Alfresco.

Lots happened, and it’s still happening, so here’s an update so that

So first things first, from the Alfresco side:

  • As you know, the long journey of Mavenizing the Alfresco build is ended. After Cloud, now Community and soon Enterprise are building with Maven
  • Alfresco Community 5.0.a is out and it’s fully built with Maven. Took about 5 years, but we made it, so get finally ready for a fully orchestrated ecosystem here 🙂
  • Highly likely the old Java / Eclipse SDK is going to be EOL’d, leaving the Maven SDK as the one and only standard de facto best practice to develop on Alfresco
  • We (and Mau specifically) are developing a Maven + Alfresco training that will be delivered at both Alfresco Summits in London and San Francisco. On this note, did you already sign up for Summit US or EMEA? If not, what are you waiting for? The schedule is, once again this year, just A M A Z I N G!

On the SDK side instead we plan to do the following:

  • Move the SDK project to Github, consolidating it in the Alfresco organization. The rationale here, apart from consolidation, is to move to a more modern SCM system which would foster even more visibility and community contributions. Pretty excited about that 🙂
  • We are preparing the SDK release 2.x, which will be compatible with Alfresco 5.x. In the meanwhile you might want to check out the latest 2.0.0-SNAPSHOTS which are increasingly compatible with 5.0.a (disclaimer: YMMV!). Here all the issues we are targeting to resolve, so some work is still required
  • We are seeing community momentum in the SDK like never before, mostly thanks to Ole’s great community help. In particular, Ole has Mavenized already all the samples of the old Java/Eclipse SDK, so we plan to release those together with the new 2.x SDK release and in general make those the reference examples for Alfresco development. Neat isn’t it?
  • If you are interested please help us testing the snapshots, opening issues or even provide contributions. Don’t be shy!

Stay tuned, as we plan to wrap up all this work by Summit, so less than 2 months away. I will then going to be presenting together with Maurizio on a full end to end process to manage Alfresco process, from development and release with the Maven SDK to continuous delivery and deployment with Alfresco Boxes, in a session called “Get Your Alfresco Project from Zero to Hero with Maven Alfresco SDK and Alfresco Boxes“.

 

           See you there?

            Sign up Here 🙂

A wonderful deja vu of my future past

Last 5 days have been amazing. A total quantum leap in a sweet & sour mix of past and future.

Thanks to Codemotion & the great organization of the Alfresco Rome’s meetup by Jeff (as usual!!!) and our partner Sourcesense, I had the opportunity for the 2nd year in a row to go back to my University and be on the other side of the desk! (twice actually, if we count also the Maven SDK quick preso I gave at the meetup).

But it wasn’t only the emotion of talking to young students and experienced software engineers that is giving me this wonderful sense of fulfillment.

And it’s not only seeing that Codemotion (organized by one of my closest friends, Chiara) is growing year after year in relevance & resonance, quality of sponsors and speakers network.

But mostly the fact I had the chance to meet with so many good friends from my academic past and see how sooner or later we will cross again in our professional future. A so much past oriented trip, but still surprisingly focused on discussing the next killer app with the guys…like in the good old college times 🙂

When I finally met one of my ex-professors, Paolo Merialdo, almost “bragging” on how good our generation of engineers (taught by him) is, i.e. that bunch of great engineers that came out of Roma3 University around 2004/2006, I fully understood what I was up to. Re-discovering my roots to leverage them in the making of my future.

And for how great changes happened in my life, and more, even bigger will hopefully come soon, I will always be connected to those guys I studied with in Rome (and now all over the world). Not only by technology, but by a same way of interpreting life, business and daily challenges. Almost like entangled.

And yes, we will finally end up creating our own startup, one it’s going to fail, and then we’ll make another one, and maybe it’s gonna succeed then 🙂

But in substance we will have fully lived the dream of this crazy field we work in.

The dream of who feels capable to build something that will succeed, something that will be remembered, something that might even change the world. Check Liquid Feedback and the whole Italian 5 Star movement to get a hint of what I’m saying.

Talk soon, hopefully with some updates, on where we stand on making the dream come true 🙂

Hurricane Sandy and the statue of Liberty, aka my first social viral fake ;)

When I saw this picture today on Facebook, I was quite amazed. As a handful of friends did, I started being seriously worried, even being on the other side of the pond, about what was going to happen to the many friends I have overseas.

I started sharing it, “socializing” on it, and starting obvious dissertations on how powerful yet scary nature can be and wishing luck to all of my friends.

But then I did what, unluckily enough I suspect,  the vast majority of social media members don’t usually do – and sometimes even journalists tend to forget: just get one level deeper 🙂

Quoting from the original posted Facebook page:

Jason Otts: Ok… apparently this pic has gone viral from my wall with 99,989 shares. In the last 15 minutes I have had like 200 people add me as a friend because of this pic. So I called the person who texted it to me and she then called her friend who is in New York and he told her that it was fake. So now I have 200 friends who like a photo that is fake on my wall. Funny, but awkward….

So turns out it was a fake, as other sources seem to confirm. It’s the first time that I get caught in a viral so quickly (especially as I’m not in the cool Valley 🙂 ), but that made me think thoroughly enough about the evil power of the Internet.

While I’m the first considering “the Net” my only God, Wikipedia my only Bible, the righteous and truthful source for any information, the only remaining free channel of communication and yadi yadi yada, this time I am facing the awful truth of how sketchy, easily manipulated and imprecise certain pieces of information can be.

I will spare you anymore social interpretation of this, but just take an old but still very modern advice: before jumping your guns on some internet opinion, check your source! 😉

That comedy called Italy

Italy is such a wonderful place, full of culture, landscapes, smart and lively people and a great social life. For long centuries it was the cultural center of Europe, giving birth and growing heroes of the world’s inheritance.

Still it’s the best representation of contradiction I can think of. Maybe it’s because I’m Italian and, although living in the Netherlands for 5+ years, I still have a pretty tight connection with my mother land. And there are some things which I feel I need to post, at least because those are the main reasons why I don’t want to go back home now.

This is mostly a technical blog, so I will start with something somehow technical, which was the original reason for this post: as you might have heard already, seems that neutrinos have been recently discovered to be able to travel faster than the speed of light. This would have disruptive consequence’s on Einstein relativity theory and on other pillars of contemporary physics. But that’s another story and worth reading some expert’s blog post as well at the original paper

The point is another one: the original article is in from a international team involving many Italians, since the measurement of neutrinos speed was done from Geneve’s CERN to Italian Gran Sasso laboratories. And that’s when Italy is somehow involved in something big, that some character of the great persistent comedy troupe which is Italy comes into stage.

This time it was our “smart” Minister of Education, Mariastella Gelmini, came out with this press release (English Translation) on the official Minister website to actually congratulate with the scientists for their discovery, but especially to take credit for

The construction of the tunnel between CERN and Gran Sasso Laboratories, through which the experiment took place, Italy has contributed a sum now estimated at around 45 million euros.

Comunicato Mariastella Gelmini Ministero dell’Istruzione Tunnel NeutriniNow, I’m not asking Ministries to be nuclear physicists (although I’d secretly dream of it), but at least to have a decent level of culture or realism not to imagine that that a 730km tunnel (yeah, that is the air distance between CERN and Gran Sasso) could have been build below Alps and Apennine Mountains.

I’m fed up of having to take account for the stupidity (yeah that’s the only good definition of it) of our Government and in general of the whole ruling class in Italy, since, when I finish working, it’s always about those childish, banana republic style, ignorant declarations that some random member of our Government does.  No wonder why all my foreign friends sort of laugh at us for that.

I’ve never wanted to play the part of the “bitchy expat” that over-criticizes his country, but it seems at least we (expats) have a lower threshold of BS we are able to digest.  So think it’s time to do something more substantial to actually try and wake up our country, that seems now asleep, almost indifferent to any type of attack to normal rules and democracy, completely powerless drugged by media.

Other Italian expat fellows seem to have been stroke by this, last, unbearable deprivation of the Italian culture.

And don’t get me wrong, I still like to remember all great things Italian culture did in history. People like Leonardo, Michelangelo, Cristoforo Colombo, Guglielmo Marconi, Enrico Fermi or periods like Renaissance or the same Roman Empire marked our cultures permanently.

That’s why I think we should get organized and do something, something very well designed and planned, using the weapons of internet and social networks to propose a wake up call for Italy and destabilize the current status quo. I am sure we can out smart them, they are basically organized old farts. Italy is a cash cow right now.

Just brainstorming here, but I am all in for any initiative any reader will suggest!

I’m all ears …

Alfresco DevCon in Rome just one week away

I’m very excited about what’s going to happen and I’m going to participate to next week in my mother country 🙂

If you did not know (and so should definitely join!), next week we’re holding an Alfresco Developer Conference in a nice venue in Rome!

The DevCon is spread over two days (Tuesday 12th and Wednesday 13th of April) and will be full of technical in depth topics on Alfresco product and application development.

On day 1, we’ll be hosting a full day introduction of Alfresco Fundamentals, in which I’ll be giving quick and effective insights on Alfresco key concepts like Repository, Content Modeling, Architecture & Technologies.

On day 2, the agenda is full of Alfresco stars like our Product Managers Mike Farman & Ben Hagan, giving us a full insight on the new and great evolutions of Alfresco 3.4 (and above) in the Social Content Management era. I will also be giving a talk about latest CMIS (and the recent OpenCMIS 0.3.0 release) evolutions and how you can leverage them with Alfresco.

Most of the event will be held in the English language, but for all my talks I guess we can of course be a bit more flexible and go for Italian 🙂

So, if you did not do it already, please subscribe to this event and join the most interesting Alfresco technical event and first Alfresco Developer Conference in Italy!

See you there!

Southparkstudios.com (Or possibly the weakest IP regional check I’ve ever seen)

Those who know me better definitely reckon that I am one of those crazy South Park  (<– Hem, you can open this link only if you’re in the US) fans which knows every episode by heart and that, together with Mau, tries to dedicate 30 mins Thursday night to watch the new episode, aired in the US the night before.

Till a couple of years ago the South Park official site (South Park Studios) was nice, free and open worldwide, airing all episodes and clips just right after US airing, once again demonstrating Matt & Trey (the authors) open mindedness and free-o-cratic approach.

Well that couldn’t last and months ago Comedy Central decided to start shaping traffic from the .com domain to national domains (e.g. SouthPark.nl in my case, being resident in Amsterdam). Pretty fair you would say?

Well, I guess so but you know, as a South Park fan, when they also started messing around with content, limiting views “based on pre-existing contractual agreements” and following the local Dutch TV Comedy Central broadcasting schedule (typically postponing a few, CRUCIAL, weeks after the US original airing), this became hardly bearable 🙂

SouthParkStudios regional check

Basically if you try to access SouthParkStudios.com from the Netherlands (in my case) you’ll get a nice Cartman in blond dialog telling you to click and go to the national SouthPark.nl … with outdated content … outrageous 🙂

To be honest, I could solve my issues using the infinite resources of online streaming 🙂

But today I wanted to do something more: I actually wanted to send a friend a link to a specific clip from the last espisode (“Mysterion Rises”, 14th series, aired last Wed in the US), so basically something possible to just from the US site, SouthParkStudios.com.

First try: with little success I tried the standard Google Translate hack which was nicely detected by the SouthParkStudios, and still the blondish Cartman blocked me.

The way too easy win: 

Looking a bit closer to the type of regional check, I noticed than, upon detecting an access to the .com site from a non US IP address, a grayed out foreground DIV was overlaid on the pre-loaded (and fully functional) underlying .com page.

Well, then, why don’t try with a simple Firefox plugin like Firebug which allows me to point and click the web page and edit the live rendered DOM?

South Park Studios Firebug Hack for US only blockAnd the game was done: as you can see in the second pic with Firebug open on the SouthParkStudios.com page, I was easily able to identify the DIV which caused the geoblock (search for ‘geoblock’) , and using Firebug DOM editing features I could remove the guilty DIV (apologies to the dutch Cartman and the black DIV).

Of course you need to re-do the edit at every click you do, but you understand how easy would be to automate this using tools like Greasemonkey or successors. This way I could easily browse the .com site from the Netherlands and send the proper Mysterion link to my friend 🙂

Now, get me straight, the intention of this post (and of this author) is NOT TO ANYHOW SUGGEST to use this hack (and anyways this was so simple that calling it a hack would be a unique case of overrating), but more to send a message to website writers all over the world, a message which goes something like DON’T INSULT OUR INTELLIGENCE 🙂

Please, in the undesirable and potentially not agreeable case that you really need to perform this kind of blocks, take into account that the Internet public is growing in maturity day by day, and you don’t have to be anymore a computer science geek or an engineer like me to actually being able to break such a poorly designed and coded geoblock.

And with specific reference to Matt & Trey: I love you guys a lot, and if you knew me you would know. But you also know (or I think assume) that to watch and appreciate South Park your need a proper level of self irony and a decent IQ … also I know lots of real geek friends of mine which die for South Park, as yes let’s be honest there’s a geek irony component in the series …  then please hire (or tell the Network) to hire some serious guy to run you online video publishing, as with these ***ppy solutions “pre-existing contractual obligations” are doomed to a dark oblivion  🙂

I know “someone” who would be definitely interested to spare a hand  🙂

More and more ways to contribute to 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 🙂

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 🙂