It has been a while since Alfresco released version 5. As you probably know already, version 5 includes a significant amount of changes in terms of functionality. For those of you who are not aware, I recommend you check out the previous articles where we went over a few of these changes.
For the developers also there has been significant changes in the alfresco installation structure which is very essential for them to be aware of. Here I will show you only the changes of folder structure done in alfresco installation, which will results in to changes to few conventional deployment strategy changes and it will also force developers to follow best practices in terms of developments, you will get to know clear picture by the end of this article.
If you have installed alfresco 5.x in your machine and you navigate to explored folder of alfresco war (<ALF_HOME>\tomcat\webapps\alfresco\WEB-INF\classes\alfresco) you will be able to see following folder structure.
Which used to be like this in earlier versions.
As you can see there is significant changes in the folder structure. In earlier version all configuration files,subsystem and other implementation related files used to reside here which developers could refer to get idea on how it is implemented or configured. There also used to be extension folder under which all customization related files used to reside. Other option was to place them under tomcat/shared/classes/alfresco/extension but earlier option was more convenient because everything was bundled into single war file which was easy to manage.
Main disadvantages in older folder structure was developer used to abuse the flexibility of changing out of box configuration files and then eventually end up with mess. There also used to be support for alfresco explorer which is no longer the case with alfresco 5.
In recent version of Alfresco if you want to refer to those configurations and other related files you have to go to <ALF_HOME>\tomcat\webapps\alfresco\WEB-INF\lib and here you will be able to see following new jar files which was not there in earlier version. Alfresco has bundled up everything into different jar files.
It contains all those folders and files which earlier used to be in other location, similarly other two jar file also contains some of those files.
Summary: It is very important for alfresco developers to understand this new structure.Although it is very easy to understand this will surely save some time for developer who switch to Alfesco 5 development from older version of alfresco.