Alfresco which is a leading open source JAVA based CMS is popular because of its various unique features where easy extensibility is one of them. Since the inception of Alfresco share to provide collaboration platform by Alfresco (which I have discussed in my previous post) It become very popular because of its reach User Interface. The only problem was difficulty of customization and extension as it was based on spring Surf platform which is totally based on webscripts. There are lots of files needs to be changed to make just a simple change and it was also very hard to distinct the customization code from the core code, also there was no best practice defined for customization of Share. It was making Developers life very difficult. Alfresco Engineers were working on these problems since its first release and finally they are successful in their efforts.
From the version 4.0 Alfresco engineers has restructured the architecture to great extends to make it easier to extend and customize. Most prominent feature which I like is the support for Extensibility Module. Developer can create kind of patch which can be applied to the Alfresco instance to make it effective immediately. Various advantages of these modules are as follow.
- Easy to apply on alfresco instance
- Immediate effectiveness no restart required.
- Easy to remove whenever required.
- Clear separation of plugin from core code.
- Easy to package in jar form
There is a separate console provide by Alfresco which allows you to deploy your plugins which you can access from following location in your browser.
Modules which are visible on the left side as available modules are the modules which are placed in form of jar file in the alfresco share installation. Alfresco share will pick up on the fly. Hope this will give you insight of Alfresco share customization. In my next post, I will explain how to create extension modules, so stay tuned!