51 separating Platform and Share Samuel Langlois Build engineer at Alfresco Splitting Platform and Share Why What How What now Why Separate release lifecycles More frequent releases of ID: 616206
Download Presentation The PPT/PDF document "Alfresco" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Alfresco 5.1:separating Platform and Share
Samuel LangloisBuild engineer at AlfrescoSlide2
Splitting Platform and ShareWhy?What?How?What now?Slide3
Why?Separate release lifecyclesMore
frequent releases of ShareSmaller, more incremental releasesUpgrade Share and Platform separately
(
Many
customers don’t
use
Share anyway…)Slide4
Why?Two smaller, more manageable code basesClearer code ownershipSmaller backlog
More agile!Slide5
What?Where to chop?Each jar/artifact:alfresco-core.jar | alfresco-data-model.jar | etc…
⇒ a bit too many!Each war:alfresco.war | share.war
⇒ can’t update Share APIsSlide6
What?Where to chop?The « Netflix » model
Client side
Server sideSlide7
What?The share-services
AMP
Alfresco One Platform
(
alfresco.war
)
Alfresco One Share
(
share.war
)
share-
services
AMPSlide8
What?"Full packaging" still neededAlfresco One aggregates:
Alfresco One Platform 5.1Alfresco One Share 5.1GoogleDocs integration 3.0.3Alfresco Office Services module 1.1
…
How do we call it?
201601(-EA|-LA
)Slide9
What?Slide10
What?What about Community Edition?"Full packaging" only, becauseNo cluster: most installations are single-node
Little need for separate release lifecycleNo hotfix releasesUsed for evaluations -> KISS!Slide11
How?Needed to separate common componentsalfresco-core (should really be called Common…)JLan
surf-webscripts SurfThese are now released separatelySlide12
How?
Alfresco One Platform
Alfresco One Share
core
Surf
JLanSlide13
How?Needed to cut a few cyclic dependenciesMoved Share, Surf, etc. in different codebasesSame Subversion server, for maintenance reason
Maven FTW!Slide14
What now?Technical side doneWe didn’t go as far as we wanted5.1.X Service packs/hotfixes still provided as one packaging
Compatibility between Share 5.1.X and Platform 5.1.Y?NeedMore tests for independent modulesReliance on public API exclusivelySlide15
What now?
Alfresco One
Alfresco One Platform
Alfresco One Share
JLan
SurfSlide16
What now?
Alfresco One
Alfresco One Platform
Alfresco One Share
JLan
SurfSlide17
What now?More separations consideredSearch?REST APIs?
…Moving to Git?Slide18
?