07-04-2017 10:09 AM
Hi,
We wish to migrate from Enterprise Edition to Community Edition. The Enterprise source version is 5.1.1.4. We choosed the latest 5.1.x Community Edition that is 5.1.g as the target version. We followed the following Alfresco rule : to migrate from M.m.p version of Enterprise Edition, chose the latest M.m.x version of Community Edition (x=g that is the most recent letter in the version, if M.m=5.1). But we meet some problems with alfresco 5.1.g WAR :
- it embeds many 5.2.a jars
- the displayed version is 5.2.0 instead of 5.1.g
So this is my question : is 5.1.g the right version for our migration ?
If so, why 5.1.g alfresco war embeds 5.2.a jars ? Is it normal ? Which are the risks ?
if not, which target version should we take ? Should we migrate from 5.1.1.4 to 5.1.f or 5.1.e instead ?
Thank you in advance for your help.
Best regards
07-04-2017 06:43 PM
5.1.g is a bit of a problematic version as to how it relates to GA/EA releases, since some of the artifacts on artifacts.alfresco.com include some early-access (EA) 5.2 libraries. As far as I am aware, the "dirty parts" affect the Repository+Share Services WAR (org.alfresco:alfresco:war:5.1.g) which contains 5.2.a libraries since it originates from 201606 EA. Only by doing a manual install using 5.1.g for Repository from 201605 GA and 5.1.g from 201606 EA for Share will you get a clean, correct setup.
I would typically pick the next major version up when moving to Community Edition. 5.1.g is a lower / less advanced version than 5.1.1.4, meaning that 5.1.1.4 could have already introduced minor schema changes that may not be compatible with 5.1.g. If 5.2 were used, it should detect that the previous 5.1.1.4 is of a lower version and check which changes need to be made to the schema to upgrade to 5.2 proper., potentially leaving out patches that have already run as part of the 5.1.1.4 Enterprise version.
NOTE: This reply was updated to correct some mistaken statements - original reply:
5.1.g (I believe it was 201605 GA) was a bit of a dirty release, since some of the download bundles included some early-access (EA) 5.2 libraries. As far as I am aware, the "dirty parts" affect primarily the Share user interface. Only by doing a manual install using 5.1.g for Repository from 201605 and 5.1.f from 201604 for Share will you get a clean, correct setup (there is no 5.1.g for Share).
I would typically pick the next major version up when moving to Community Edition. 5.1.g is a lower / less advanced version than 5.1.1.4, meaning that 5.1.1.4 could have already introduced minor schema changes that may not be compatible with 5.1.g. If 5.2 were used, it should detect that the previous 5.1.1.4 is of a lower version and check which changes need to be made to the schema to upgrade to 5.2 proper., potentially leaving out patches that have already run as part of the 5.1.1.4 Enterprise version.
07-06-2017 06:53 AM
Do not replace the dependencies individually. Simply use the Alfresco 5.1.g WAR from https://artifacts.alfresco.com (these are even linked to on the 201605 GA file list page). Of course this effectively constitutes a downgrade which Alfresco does not support in terms of schema validation. So you would have to recreate your database.
As to "Why was the original alfresco-5.1.g.war artefact built with 5.2.a dependencies?" - The answer is: It wasn't. The 5.1.g WAR was built only with 5.1.g dependencies. What you downloaded / used was a bundle / installer that included a 5.2.a WAR for Alfresco Repository and a 5.1.g WAR for Alfresco Share - likely from the 201606-EA release.
The primary thing that is incorrectly done by Alfresco is the publication of the Alfresco Repository WAR from the 201606 EA release as a org.alfresco:alfresco:war:5.1.g artifact. Since separating out the platform (aka Repository) from Share they have implicitly redefined what the artifact org.alfresco:alfresco:war stands for - it no longer is the pure Repository WAR, but a WAR that includes the Share Services module for a specific Share version, and the version label reflects the Share version, not the Repository version.
The correct Maven artifact to use for a clean Alfresco Repository WAR is org.alfresco:alfresco-platform:war. You can use that to then install the Share Services module for 5.1.g and have a clean 5.1.g-only Repository that can support Share 5.1.g.
I believe there already was a JIRA ticket about this to avoid similar confusion in future release versions, but for some reason I cannot find it at the moment.
07-07-2017 06:16 AM
Thank you.
It is very clear. We downloaded and integrated alfresco-platform.war. As you said, the dependencies are correct now. We are testing. After the tests, if everything is fine, I will mark this problem as solved.
Explore our Alfresco products with the links below. Use labels to filter content by product module.