If you are a member of the Alfresco Development ecosystem or you attended one of the recent Alfresco events, you might have heard of the Release Agility project, a major investment we are doing at Alfresco to improve the pace, quality and modularity of our development and release process.
And if you monitored the Alfresco Public SVN and/or you build Alfresco from sources, you might have noticed some substantial changes in our source code layout, specifically related to the Share webapp location.
In case you were guessing, yes, these two items are tightly connected and in fact the changes in SVN changes are just one of the initial steps of the larger process improvements driven by the Release Agility project.
So, in the spirit of open communication and in pure Sinek-ian fashion, let me give you a general idea of the changes, starting with why we are doing this.
Why
One of our company goals is to be more agile when it comes to releasing our products, like the Repository, Share and other modules composing the Alfresco Portfolio.
In Share, for example, we’d like to be able to deliver enhancements out to market more frequently than we currently do and allow customers to consume those without needing to upgrade their core Repository.
Upgrading the whole system can also be a large project in itself and requires lots of testing and occasionally re-development of customizations. Allowing the repository and Share to be upgraded independently could prevent significant costs and allow users to get new UI features faster.
To allow this to happen we need to de-couple the repository and Share, and the first step is separating the code and build process. The code used to build Share has therefore moved and we adapted the build system and development environment.
This should immediately benefit both repository and Share developers as there is less code to checkout, less code to build and allows them to focus on the area they are developing using a small self-contained standards based development environment.
The Release Agility project will be an on-going project and more code will likely be moving to separate code-bases, in a continuous strive to become more modular and agile in our development and release process.
What
The Share Webapp code has now moved to the following locations:
to produce a Share WAR file that can be manually deployed to a Tomcat instance.
You can also import the project in every modern IDE natively compatible with Maven (e.g. Eclipse Luna or IDEA).
Next steps
We will keep you informed as more of these changes occur, in the meanwhile make sure you update your checkout often.
Stay tuned, as we are working to make development on Alfresco an even more amazing experience!
P.S.: In case you were wondering, kudos and trademark for the Agile Gibbon (tm) go to our Chief Architect Dave Caruana, who is playing a key role in the Release Agility project!