Maven Alfresco SDK 1.0 is finally out and ready for you to enjoy!

It’s been a long journey, but we made it πŸ˜‰

It started almost 5 years ago, and through the years, little by little, we made giant steps towards an open development platform.

If you have followed this blog earlier, you probably have shared some of the pain for an unnecessary difficult integration process of Alfresco artifacts, therefore today we should all re-joy as development on Alfresco got just so much better πŸ˜‰

Thanks to the great work of the whole Maven Alfresco Community and the strong momentum and Support from Alfresco Engineering and Release Management, it’s with extreme pleasure and pride that I announce you that a fully fledged Maven Alfresco SDKβ„’ 1,0 is now available for your enjoyment and to drastically improve your development productivity on Alfresco projects.

While I recommend to you have a look at the full docs and to the release notes to understand the full extent of features of this brand new piece of software, let me just give you here an overview of theΒ  most exciting features:

  • Zero configuration approach: create an AMP or All-in-One archetype and with one command you are ready to run and customize Alfresco. In the very same place πŸ™‚
  • Zero download approach: the SDK will take care of downloading the appropriate Alfresco artifacts from the Alfresco Artifacts Repository. Also no DB or application server is required, as the SDK will runAlfresco emdedded on Jetty + H2.
    Note:
    this configuration is not part of the supported stacks, so should be used only for development purposes
  • Zero BS development approach: with new SDK the focus is your creativity, no more boring configuration or hacks to make a particular work.Β  Just get the setup right with an archetype and start to kicking it on Alfresco πŸ™‚
  • Zero defect is the main objective of the SDK: with support for AMP unit and integration testing, as well as integration with the strong enterprise development process feature of Maven (e.g. CI, release mgmt, etc.), you can get you Alfresco development to another level. This was made thanks to the availability of POM files for Alfresco Artifacts (as of Alfresco 4.2.b).

NOTE: For those of you wondering about naming and version: yes, the Maven Alfresco SDK 1.0 superseded the old version of the Maven Alfresco Archetypes / Lifecycle 3.9.1.Β  As of Alfresco Community 4.2.b the Maven Alresco SDK 1.o is the recommended solution.

But without further ado, I can’t wait to join the other Alfresco Rockstarts at the DevCon hackaton, I’m sure we can boost some productivity down then with this SDK. Once again, check out the project website for full docs.

I want to thank you everyone involved in making this happen (especially Mao and Samuel) as we believe it will be a major improvement for the developers, architects and administrators of Alfresco project, finally providing a solid foundation to doGreatWork() and this great product.

Enjoy and let us know your feedback!

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! πŸ˜‰

Maven and Scalability @ DevCon

Sounds like it’s happening. More, much more that I could expect. Much better than before.

At Alfresco in fact we are finally about to close on two fundamental areas like ECM Scalability and on the availability of a fully fledged Maven based SDK.

As you might know (if you are reading this blog you probably will), these on the two areas I’ve always been passionate and involved for in the last few years. Just to let you understand how passionate (or romantic, almost Italian) about these topics, enough for you to know that:

    • I ranted about Maven for a few years now and, in this last year, I experienced a momentum never seen before both from a corporate and from a community standpoint. Literally, about to cry here πŸ™‚
    • I worked for many years as Alfresco Partner and Solution Engineer, without having a quantitative sizing and performance reference for my implementations. In the last year I participated to the Alfresco Benchmarks project, which has shown very interesting results and improved the scalability of our system exponentially. I am so excited about these improvements, both at process and product level, that I can’t wait to share those with you πŸ™‚

So it’s just a great pleasure and excitement for me to confirm we have a couple of so much awaited HUGE surprises on those areas πŸ˜‰

But without further ado then, it’s my pride to officially announce that …


…no wait, I have a better idea.

If you are really interested and you want to know what’s going on around Performance and SDK, it’s quite simple: you should just come by for one of the two great DevCons (Berlin and San Jose) that are approaching in November πŸ™‚

I will give two speeches at both EMEA and Americas DevCon, surprisingly enough about:

And if you are not convinced, hear is a little teaser πŸ˜‰

Introducing the Alfresco Artifacts Repository – yes, with Alfresco Enterprise :)

Native American Artifacts
Native American Artifacts

It’s my honor – and a a huge personal satisfaction after a few years working on this – to announce the full availability and support of the Alfresco Artifacts Repository, a fully fledged Maven repository hosting the major Alfresco releases and of its flourishing projects ecosystem, both for the Alfresco Community and Enterprise Networks.

For those of you already following this blog this might be no big news, as somehow the information was already around in the Alfresco-sphere and an Alfresco Maven repository has been already unofficially (AKA maintained by me) around for a while. But the great news is that now the repository is officially maintained and artifacts are kept up to date πŸ™‚

Based on the Nexus OSS mature Artifact Repository technology, and following a few weeks Partner only beta, the repository is now publicly available at:

http://artifacts.alfresco.com (formerly http://maven.alfresco.com)
The Alfresco Artifact Repository
The Alfresco Artifact Repository

What can you find in there (AKA the screenshot is not enough)? Very well, at the moment the Artifact Repository hosts:

  1. Alfresco Community full releases (JARs/WARs) identified with the groupId org.alfresco
  2. NEW: Alfresco Enterprise full releases identified with the groupId org.alfresco.enterprise
  3. NEW: Alfresco Hotfix full releases identified with the groupId org.alfresco.enterprise
  4. Activiti (BPMN 2.0 implementation) Releases and Snapshots
  5. All the versions of the open source Maven Alfresco Lifecycle, a long term but quickly growing Maven SDK approach to Alfresco development
  6. All Spring repository proxies, to ease Spring Surf development by only referring to this repository developing Surf

NOTE: At the moment no POM files / dependency declarations are available, but if you are interested please feel free to vote on this issue πŸ™‚

Still not sure about the potential? Well, let me just give you an idea:

Read more Introducing the Alfresco Artifacts Repository – yes, with Alfresco Enterprise πŸ™‚

What’s going on with Maven and Alfresco ? (WIP)

Just in case you were wondering, this is the time things are actually happening.

If you are working or willing to work on Alfresco ECM platform with Maven, you better stay tuned and keep your patience for a few weeks more.

Why?

Well for a few interesting reasons:

*Β  The Maven Alfresco Community is growing and every day there is more activity in the lists and on the code contributions side. If you need information around Maven and Alfresco, the Maven Alfresco discussion group is the place to be.

* Alfresco is integrating Maven artifacts deployment in its build process (see issue): we are literally days away from having 3.4 and 4.0 Community and Enterprise versions available on the Alfresco Artifacts Repository. BTW, bear with us in these days as some changes might be undergoing in the repositories. This is great news for all of you who are hosting corporate repositories (especially for Alfresco Enterprise) as this way you will just have to point to maven.alfresco.com to retrieve Alfresco artifacts

* We are working actively (kudos to Mau) on a clean, neat, supportable version of the Maven Alfresco Lifecycle project: if you check out the experimental branch you’ll find a nicely merged, lean, fully functional set of parent POMs and archetypes to allow you, for example, to run a full Alfresco Repository, Share, AMP, etc. as a single project embedded in Jetty and H2. Nice, ain’t it? Stay tuned there because we are aligning that to the automated deployment at point #2, so we’re just really weeks away from a nice, fully featured, extensible but above all standard open Maven Alfresco SDK.

As we do lots of progress on this area, your feedback is more than welcome and, once again, bear with us while we actively work to make your Maven Alfresco developer life easier.

Maven Alfresco Lifecycle 3.9.1 Released

Hey guys,

I’m proud to announce that thanks to a vigorous Community help (special mentions and kudos to Mao and Stijnr for the great help in the last period), we have been able to pull out the 3.9.1 release of the Maven Alfresco LIfecycle.

Multiple bug-fixes, a zero defect targeted release and a couple of juicy new features like:

make of this one probably the most stable and tested release of the Maven Alfresco Lifecycle. The release is tested against Alfresco 4.0b Community, and it’s the perfect foundation to the great work we are going to do in the next weeks to clean it up completely and support Alfresco Enterprise.

The releases is available in the Maven Alfresco Repository (in case you are wondering, I still need to update the archetype-catalog.xml, but that will happen just after Easter, as I have no permissions right now πŸ™ ). Full release notes are also published on the Google Code project and per component documentation is available in the brand new published Maven Site (using the HUGELY COOL Maven Fluido Skin).

Feedback is always welcome in the Maven Alfresco List and we also have a Skype chat so feel free to contact me on Skype if you want to contribute / participate in any way πŸ™‚

Have fun and let us know what you think!

Consultant Life is Hard ep. I – Get that damn SSH X11 forwarding tunnel to work

This is probably more of a note to myself than anything else, since every time I have to do some sneaky X11 forwarding (e.g. to profile or perfomance tune a production server) it somehow never works the first time…having to waste at least 15, fundamentally boring, minutes to figure it out again.

Of course prerequisite is that you need to have some kind of X11 server running on your client, whose display will be forwarded to the server. Linux has it by default, Mac users can install it from the OS disks, for Windows users I suggest XMing to avoid the whole CygWin download).

So this is Gab self reminding recipe for that (tested from MacOS 10.6.8 to RHEL5):

  1. Make sure that
    "X11Forwarding Yes"

    is in your

    /etc/ssh/sshd_config

    on the SERVER SIDE

  2. Make sure that
    "ForwardX11 yes"

    is your

    /etc/ssh_config

    (or

    /etc/ssh/ssh_config

    for Linux distros) on the CLIENT SIDE

  3. Login to the machine with
    ssh -X user@host
  4. If “echo $DISPLAY” does not display any meaningful value (e.g. host:display) then you typically miss libraries on the server side. From root or sudo your should issue at least (this worked for me on all RedHat based distros):
  • yum install xorg-x11-xauth
  • yum install libXtst
  • yum install libXi

At that point you might have to logout/login but the you should be able to run whatever X based application (e.g. JConsole, JProfiler, can you tell I use Java? :)) directly from the server and see the UI pop up on your client.

Never forget anymore Gab…and thanks for reminding to write this down my friend πŸ™‚