Thanks for the memories

Enjoy Alfresco Summit 2013 all over again with the slide decks and videos

Error message

  • There has been an problem contacting the CMIS server, please see the logs.
  • There has been an problem contacting the CMIS server, please see the logs.

Life is Too Short for Endless Restarts

Many developers starting with Alfresco development are frustrated with the slow development cycle when working on core Alfresco customizations like policies, webscripts and actions. (as was I a year ago) When writing java backed customisations, restarting the Alfresco server is often a necessity. Annotation driven behaviour is something developers have long been accustomed to via projects like Spring MVC whereas Alfresco strongly relies on Spring xml configuration.

Enter the project. Built upon the eclipse Gemini project, which in turn, is based on the proven OSGI technology, this extension for Alfresco allows developers to integrate the deployment of their customizations directly into their build. Instead of minutes, it only takes seconds to deploy java backend webscripts or policies. All this is enabled by the OSGI. This module system allows loading new code at runtime via a system of custom classloaders. The nice thing about dynamic extensions, is that the developer does not even have to be aware of how this works (Ok, gotcha's do exist). As an added bonus, developers can choose between classic Spring configuration or annotation driven IOC configuration.

As an early adopter, this project really made me enjoy writing Alfresco extensions due to the quick feedback cycle and added Webscript possibilities (argument binding, @Before handlers, ...) Maybe it's because of my OSGI background that I immediately saw the potential of this framework. Unfortunately there seems to be little awareness of it's possibilities: with developers and Alfresco. By contributing to the project, I quickly encountered the workarounds required for dynamic deployment of eg. behaviour. (Alfresco's API's often don't allow for the removal of behaviour or actions) Javascript seems to be the official answer for rapid developer feedback, but this is a narrow answer to a much broader problem. As a bonus: If Alfresco were built upon a true module system like OSGI or Jigsaw, new subsystems could be installed at runtime, multiple versions of libraries could be used concurrently. This would allow for ultra--‐light versions of Alfresco which can be extended feature by feature.

Session Recording: