SlideShare une entreprise Scribd logo
1  sur  40
Upgrading to Alfresco 6
The Short History of the Long Road
Angel Borroy
Developer at UST Global
@AngelBorroy
angelborroy
keensoft
Learn. Connect. Collaborate.
Upgrading process in a nutshell
Previous version
1. Backup database and content store
2. Identify your customizations and addons
New version
1. Install Alfresco 6 from scratch… or use public Docker images!
2. Restore database and content store
3. Apply your customizations and addons
4. Start Alfresco and have some fun
https://docs.alfresco.com/community/tasks/upgrade-process.html
Learn. Connect. Collaborate.
Wait a minute…
2010 Peter Monks
Alfresco Environment Validation and “Day Zero” Configuration
2011 Frederik Heremans
Migration from jBPM to Activiti
2013 Kyle Adams
The Art of the Upgrade
2015 Alfresco Tech Talk Live 82
Upgrading to Alfresco 5.0
2017 Ian Wright
Upgrading extensions - help is at hand
Learn. Connect. Collaborate.
Contents
• Understanding the Upgrade Process
• Elaborating an Upgrade Plan
• Identifying Deprecated Features
• Adapting your Customizations
• Installing your new Alfresco
• D-Day considerations
Understanding the Upgrade Process
Learn. Connect. Collaborate.
What is happening behind the scenes
Source Alfresco
Content Store
Database
Indexes
Halfway Alfresco
copy
dump
N
Target Alfresco
move
move
copy
patch patch
Learn. Connect. Collaborate.
Source Alfresco
• Test your backups
– Database
– Content Store
– Indexes
• Use dump for the Databases
• Use rsync for Content Store
– So you can perform a quick last rsync just before stopping the service for the
upgrading process
– Consider only files modified 30 days ago or less from Content Store Deleted
• Use rsync for Indexes
– Only required for Target Alfresco, as Halfway(s) Alfresco are running in no index
mode
Source Alfresco
Learn. Connect. Collaborate.
Halfway Alfresco(s)
• Not all Database Patches are included in every Alfresco version
– Depending on the Source Alfresco version, several Halfway Alfresco instances must
be used
• Prepare as many Alfresco Instances as required (3.4, 4.2…)
– Deploy only customized Content Models
Other addons and customizations can be ignored
– Deploying Share web application is not required
– Transformation Service is not required
ooo.enabled=false
jodconverter.enabled=false
– Configure noindex mode
index.subsystem.name=noindex
– Disable scheduled jobs
• These instances are used only to patch the Database, so server resources
(CPU, RAM…) can be lower than PROD environment
Halfway Alfresco
Learn. Connect. Collaborate.
Target Alfresco
• Same (or higher) resources as Source Alfresco
• Every configuration, customization and addon is deployed
– Probably some adaptations are required
• Using original Indexer Subsystem mode to minimize downtime
– For instance, configure solr4 mode
index.subsystem.name=solr4
• Last Database Patch should be also applied when starting Alfresco
Repository for the first time
• Just switch your public HTTP proxies to Target Alfresco hostname or IP
after validating the environment
Target Alfresco
Learn. Connect. Collaborate.
Database Patches Catalog
https://github.com/Alfresco/alfresco-repository/tree/master/src/main/resources/alfresco/patch
Learn. Connect. Collaborate.
Final adjustments: upgrading SOLR
Target Alfresco
Content Store
Database
Indexes
Indexer Alfresco
Indexes
solr4 solr6
Final Alfresco
move
move
move
Learn. Connect. Collaborate.
Indexer Alfresco
• This instance calculates indexes for the new SOLR version while Target
Alfresco is being used in real
• Same configuration as Target Alfresco can be used, but deploying Share
web application is not required
• Indexation is a heavy process (in CPU and network bandwidth), so you
can consider a nightly only execution
• SOLR Web Console can be used to follow indexation progress
Indexer Alfresco
• Once the indexation is current, you can switch
Indexer Subsystem mode to the new SOLR
version and (finally)… you’re done!
Elaborating an Upgrade Plan
Learn. Connect. Collaborate.
Auditing your Source Alfresco
Volume
• Count of all database tables
• Size and number of files in content store
• Size of Lucene or Solr indexes
Customizations
• Custom Content Models
• Custom Process Definitions
• Installed Modules
• Other Customizations or Extensions Source Alfresco
OOTB Alfresco
Learn. Connect. Collaborate.
Preparing your playground
Backup
• Database dump
• Content Store rsync
• Indexes rsync
Test data
• For large Content Stores
– Mock up with small files
https://github.com/kylefernandadams/alfresco-mock-content-generator
Learn. Connect. Collaborate.
Defining your upgrade path
• Apply the latest Service Pack to
your Source Alfresco
• Upgrades from 5.0 and 5.1 need to
stop at 5.2
• Upgrades from Solr 4/6 subsystems
need to upgrade also to Alfresco
Search Services 1.2
5.2.x
5.2.x
Learn. Connect. Collaborate.
Identifying required steps
Learn. Connect. Collaborate.
Recovery strategy
• Prepare for the worst scenario
• Preserve your Source Alfresco untouched to switch it live again (quickly) if
upgrading process fails
Do not perform an in-place upgrade!
Kyle Adams – The Art of the Upgrade - 2013
Identifying Deprecated Features
Learn. Connect. Collaborate.
Alfresco 5
• Alfresco Explorer
• AVM (Advanced Versioning Manager)
• Lucene
• Old Fashioned CMIS API endpoints replaced by clearer ones
• CML Web Services SOAP API
• JCR / JCR-RMI
• URL Addressability API
• Social Publishing Features
• Blog Publishing Features
https://ecmarchitect.com/archives/2014/11/06/3962
Learn. Connect. Collaborate.
Alfresco 6
• Binary installers
• JBoss (aka WildFly), WebSphere and WebLogic
• DB2
• Solaris
• CIFS (unsupported)
• Solr 1
• Share Connector for Activiti integration
• Multi-Tenancy
https://ecmarchitect.com/archives/2017/12/02/4305
Learn. Connect. Collaborate.
Alfresco 6.1
• CIFS (removed)
• NTLM v1
– Passthru authentication subsystem is no longer available
• API Deprecation
– TransformService
– RenditionService
• Additional deprecations planned for 6.x
– Embedded Activiti
– Share Pages (blogs, calendars, wiki…)
– Web Quick Start
– Alfresco in the Cloud
https://community.alfresco.com/community/ecm/blog/2018/01/03/architecture-changes-for-alfresco-content-services-version-60
https://github.com/Alfresco/acs-packaging/blob/master/CHANGELOG.md
Learn. Connect. Collaborate.
Alfresco Product Support Status
• Product releases
• Modules, add-ons and components
• SDKs
• All items currently EOM
– Workdesk
– Google Docs v1 and v2
– Quickr Connector
– XAM Connector
– Alfresco Analytics
– …
https://www.alfresco.com/alfresco-product-support-status
Adapting your Customizations
Learn. Connect. Collaborate.
Alfresco 6 Backward Compatibility
Some addons will work without recompiling nor
repackaging them with Alfresco SDK for version 6
• Repository includes relevant Java Library
upgrades
– Addons must be reviewed
• Share code from 5.x is compatible
– Everything should work in the same way
• ADF 1.x & 2.x code from 5.2.x is compatible
• Activiti workflows from 5.x are compatible
– But probably you should start thinking of moving
them outside ACS
Repository
Learn. Connect. Collaborate.
Alfresco 6 Repository Migration Guide
• Hibernate is completely remove from the product
– Use iBatis framework if you had custom DAOs
• Quartz has been updated to 2.3.0
– Change your Job Spring Bean definitions
• Spring has been updated to 5
– Update your XSD declaration for beans
– Change your “idreflocal“ to “idrefbean“ clauses
– Review your testing code
• Jackson has been updated to 2.9.5
– JSON Mappers based in 1.x must be rewritten
https://github.com/Alfresco/alfresco-repository/wiki/ACS-6-Migration-Guide
Learn. Connect. Collaborate.
Integrations
Upgrading process preserves UUIDs from Source
Alfresco
CML Web Services SOAP API
• Removed in Alfresco 5.0
• Time to Move!
CMIS
• 1.1 specification (Atom / Browser) closed in 2017
• Still supported by many products
REST API
• Old Version still available for Share and other products
• Consider migrating to New Version, based in Swagger and
designed for Angular apps
Installing your new Alfresco
Learn. Connect. Collaborate.
Alfresco 6
By Components
• Distribution ZIP
– Community
https://www.alfresco.com/thank-you/thank-you-downloading-alfresco-community-edition
– Enterprise
http://support.alfresco.com
• Supported Platforms
https://docs.alfresco.com/6.0/concepts/supported-platforms-ACS.html
• Installation instructions
http://docs.alfresco.com/community/concepts/install-community-intro.html
http://beecon.buzz/2017/assets/files/EF09/EF09-Installing-Alfresco-components-1-by-1.pdf
Learn. Connect. Collaborate.
Alfresco 6
Docker Compose
• Not supported for Enterprise PROD installations!
• Official Docker Images
– Community https://hub.docker.com/u/alfresco/
– Enterprise https://quay.io/organization/alfresco
• Official Docker Container Compositions
– Community https://github.com/Alfresco/acs-community-deployment
– Enterprise https://github.com/Alfresco/acs-deployment
• Community provided deployments
– https://github.com/keensoft/docker-alfresco
Learn. Connect. Collaborate.
Alfresco 6
Kubernetes
• Official Helm Charts not available at https://hub.helm.sh
• Official Kubernetes deployment
– Community https://github.com/Alfresco/acs-community-deployment
– Enterprise https://github.com/Alfresco/acs-deployment
Amazon AWS
CFN Template
https://github.com/Alfresco/acs-deployment-aws
D-Day considerations
Learn. Connect. Collaborate.
Monitoring
Logs
tail, docker logs, kubectl logs
Log4j logging levels to TRACE or DEBUG
JVM
JProfiler, YourKit
Database
SQL Developer, psql, mysql
Performance
top, nmon, kill -3
Learn. Connect. Collaborate.
Common problems
Long running patches
Depending on your data, some patches can take long time to complete
Auditable Behavior
Depending on your upgrade path, Auditable Aspect must be disabled during
upgrading process
Orphaned nodes
Content Store Cleaner Job will purge them after upgrading
Unindexed nodes
Not every node can be indexed
Learn. Connect. Collaborate.
Validation
• Verify that every service, subsystem and protocol is working as expected
– Repository, Share, CMIS, REST API, AOS, SOLR
– Transformation, Authentication, Synchronization, Search
– FTP, WebDAV, AOS, SMTP, IMAP, CIFS
• Verify that nodes count is the same
• Verify SOLR count and errors
• Verify that every addon and
customization is still working
Learn. Connect. Collaborate.
Final Operations
Document final operations and inform involved people before going on with
the upgrading process
Moving forward
Switch public addresses to Final Alfresco
Going back
Restore your Source Alfresco Source Alfresco
Final Alfresco
Learn. Connect. Collaborate.
Downtime
Source Alfresco Halfway Alfresco Target Alfresco
Indexer Alfresco Final Alfresco
Service Downtime
Upgrading Finished
Upgrading to Alfresco 6
The Short History of the Long Road
Angel Borroy
Developer at UST Global
@AngelBorroy
angelborroy
keensoft

Contenu connexe

Tendances

Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138Jose Portillo
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesJeff Potts
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperToni de la Fuente
 
Alfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zonesAlfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zonesSanket Mehta
 
Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfrescoUE
 
Alfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitAlfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitToni de la Fuente
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoRichard McKnight
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019J V
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondStefan Kopf
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...Symphony Software Foundation
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 
PLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationPLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationAlfresco Software
 
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - BerlinUsing MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - BerlinSébastien Le Marchand
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni de la Fuente
 
Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionFrancesco Corti
 
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...Lighton Phiri
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and ThenAngel Borroy López
 

Tendances (20)

Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to Microservices
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White Paper
 
Alfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zonesAlfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zones
 
Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin Ideas
 
Storage and Alfresco
Storage and AlfrescoStorage and Alfresco
Storage and Alfresco
 
Alfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitAlfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transit
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyond
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
PLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationPLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and Transformation
 
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - BerlinUsing MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in Action
 
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
 

Similaire à Upgrading to Alfresco 6

201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...Symphony Software Foundation
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Alfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform UpdateAlfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform UpdateAlfresco Software
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in AlfrescoAngel Borroy López
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingAngel Borroy López
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil Pursglove
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add onsAlfresco Software
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010Phil Pursglove
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010IrishDev.com
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 
Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform UpdatesAlfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform UpdatesAlfresco Software
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Fabio Franzini
 

Similaire à Upgrading to Alfresco 6 (20)

201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Alfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform UpdateAlfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform Update
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installing
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add ons
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform UpdatesAlfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
 
The Alfresco Platform
The Alfresco PlatformThe Alfresco Platform
The Alfresco Platform
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 

Plus de Angel Borroy López

Transitioning from Customized Solr to Out-of-the-Box OpenSearch
Transitioning from Customized Solr to Out-of-the-Box OpenSearchTransitioning from Customized Solr to Out-of-the-Box OpenSearch
Transitioning from Customized Solr to Out-of-the-Box OpenSearchAngel Borroy López
 
Alfresco integration with OpenSearch - OpenSearchCon 2024 Europe
Alfresco integration with OpenSearch - OpenSearchCon 2024 EuropeAlfresco integration with OpenSearch - OpenSearchCon 2024 Europe
Alfresco integration with OpenSearch - OpenSearchCon 2024 EuropeAngel Borroy López
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Using Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherUsing Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherAngel Borroy López
 
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Angel Borroy López
 
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1Angel Borroy López
 
Docker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoDocker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoAngel Borroy López
 
Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Angel Borroy López
 
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeCSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeAngel Borroy López
 
Alfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAlfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAngel Borroy López
 
Desarrollando una Extensión para Docker
Desarrollando una Extensión para DockerDesarrollando una Extensión para Docker
Desarrollando una Extensión para DockerAngel Borroy López
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfAngel Borroy López
 
Deploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP PlatformsDeploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP PlatformsAngel Borroy López
 
A Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrA Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrAngel Borroy López
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaAngel Borroy López
 
How to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverHow to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverAngel Borroy López
 

Plus de Angel Borroy López (20)

Transitioning from Customized Solr to Out-of-the-Box OpenSearch
Transitioning from Customized Solr to Out-of-the-Box OpenSearchTransitioning from Customized Solr to Out-of-the-Box OpenSearch
Transitioning from Customized Solr to Out-of-the-Box OpenSearch
 
Alfresco integration with OpenSearch - OpenSearchCon 2024 Europe
Alfresco integration with OpenSearch - OpenSearchCon 2024 EuropeAlfresco integration with OpenSearch - OpenSearchCon 2024 Europe
Alfresco integration with OpenSearch - OpenSearchCon 2024 Europe
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Using Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherUsing Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms together
 
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
 
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
 
Docker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoDocker Init with Templates for Alfresco
Docker Init with Templates for Alfresco
 
Before & After Docker Init
Before & After Docker InitBefore & After Docker Init
Before & After Docker Init
 
Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0
 
Using Podman with Alfresco
Using Podman with AlfrescoUsing Podman with Alfresco
Using Podman with Alfresco
 
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeCSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
 
Alfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAlfresco Embedded Activiti Engine
Alfresco Embedded Activiti Engine
 
Alfresco Transform Core 3.0.0
Alfresco Transform Core 3.0.0Alfresco Transform Core 3.0.0
Alfresco Transform Core 3.0.0
 
Desarrollando una Extensión para Docker
Desarrollando una Extensión para DockerDesarrollando una Extensión para Docker
Desarrollando una Extensión para Docker
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdf
 
Deploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP PlatformsDeploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP Platforms
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
A Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrA Practical Introduction to Apache Solr
A Practical Introduction to Apache Solr
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
 
How to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverHow to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last Forever
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Upgrading to Alfresco 6

  • 1. Upgrading to Alfresco 6 The Short History of the Long Road Angel Borroy Developer at UST Global @AngelBorroy angelborroy keensoft
  • 2. Learn. Connect. Collaborate. Upgrading process in a nutshell Previous version 1. Backup database and content store 2. Identify your customizations and addons New version 1. Install Alfresco 6 from scratch… or use public Docker images! 2. Restore database and content store 3. Apply your customizations and addons 4. Start Alfresco and have some fun https://docs.alfresco.com/community/tasks/upgrade-process.html
  • 3.
  • 4. Learn. Connect. Collaborate. Wait a minute… 2010 Peter Monks Alfresco Environment Validation and “Day Zero” Configuration 2011 Frederik Heremans Migration from jBPM to Activiti 2013 Kyle Adams The Art of the Upgrade 2015 Alfresco Tech Talk Live 82 Upgrading to Alfresco 5.0 2017 Ian Wright Upgrading extensions - help is at hand
  • 5. Learn. Connect. Collaborate. Contents • Understanding the Upgrade Process • Elaborating an Upgrade Plan • Identifying Deprecated Features • Adapting your Customizations • Installing your new Alfresco • D-Day considerations
  • 7. Learn. Connect. Collaborate. What is happening behind the scenes Source Alfresco Content Store Database Indexes Halfway Alfresco copy dump N Target Alfresco move move copy patch patch
  • 8. Learn. Connect. Collaborate. Source Alfresco • Test your backups – Database – Content Store – Indexes • Use dump for the Databases • Use rsync for Content Store – So you can perform a quick last rsync just before stopping the service for the upgrading process – Consider only files modified 30 days ago or less from Content Store Deleted • Use rsync for Indexes – Only required for Target Alfresco, as Halfway(s) Alfresco are running in no index mode Source Alfresco
  • 9. Learn. Connect. Collaborate. Halfway Alfresco(s) • Not all Database Patches are included in every Alfresco version – Depending on the Source Alfresco version, several Halfway Alfresco instances must be used • Prepare as many Alfresco Instances as required (3.4, 4.2…) – Deploy only customized Content Models Other addons and customizations can be ignored – Deploying Share web application is not required – Transformation Service is not required ooo.enabled=false jodconverter.enabled=false – Configure noindex mode index.subsystem.name=noindex – Disable scheduled jobs • These instances are used only to patch the Database, so server resources (CPU, RAM…) can be lower than PROD environment Halfway Alfresco
  • 10. Learn. Connect. Collaborate. Target Alfresco • Same (or higher) resources as Source Alfresco • Every configuration, customization and addon is deployed – Probably some adaptations are required • Using original Indexer Subsystem mode to minimize downtime – For instance, configure solr4 mode index.subsystem.name=solr4 • Last Database Patch should be also applied when starting Alfresco Repository for the first time • Just switch your public HTTP proxies to Target Alfresco hostname or IP after validating the environment Target Alfresco
  • 11. Learn. Connect. Collaborate. Database Patches Catalog https://github.com/Alfresco/alfresco-repository/tree/master/src/main/resources/alfresco/patch
  • 12. Learn. Connect. Collaborate. Final adjustments: upgrading SOLR Target Alfresco Content Store Database Indexes Indexer Alfresco Indexes solr4 solr6 Final Alfresco move move move
  • 13. Learn. Connect. Collaborate. Indexer Alfresco • This instance calculates indexes for the new SOLR version while Target Alfresco is being used in real • Same configuration as Target Alfresco can be used, but deploying Share web application is not required • Indexation is a heavy process (in CPU and network bandwidth), so you can consider a nightly only execution • SOLR Web Console can be used to follow indexation progress Indexer Alfresco • Once the indexation is current, you can switch Indexer Subsystem mode to the new SOLR version and (finally)… you’re done!
  • 15. Learn. Connect. Collaborate. Auditing your Source Alfresco Volume • Count of all database tables • Size and number of files in content store • Size of Lucene or Solr indexes Customizations • Custom Content Models • Custom Process Definitions • Installed Modules • Other Customizations or Extensions Source Alfresco OOTB Alfresco
  • 16. Learn. Connect. Collaborate. Preparing your playground Backup • Database dump • Content Store rsync • Indexes rsync Test data • For large Content Stores – Mock up with small files https://github.com/kylefernandadams/alfresco-mock-content-generator
  • 17. Learn. Connect. Collaborate. Defining your upgrade path • Apply the latest Service Pack to your Source Alfresco • Upgrades from 5.0 and 5.1 need to stop at 5.2 • Upgrades from Solr 4/6 subsystems need to upgrade also to Alfresco Search Services 1.2 5.2.x 5.2.x
  • 19. Learn. Connect. Collaborate. Recovery strategy • Prepare for the worst scenario • Preserve your Source Alfresco untouched to switch it live again (quickly) if upgrading process fails Do not perform an in-place upgrade! Kyle Adams – The Art of the Upgrade - 2013
  • 21. Learn. Connect. Collaborate. Alfresco 5 • Alfresco Explorer • AVM (Advanced Versioning Manager) • Lucene • Old Fashioned CMIS API endpoints replaced by clearer ones • CML Web Services SOAP API • JCR / JCR-RMI • URL Addressability API • Social Publishing Features • Blog Publishing Features https://ecmarchitect.com/archives/2014/11/06/3962
  • 22. Learn. Connect. Collaborate. Alfresco 6 • Binary installers • JBoss (aka WildFly), WebSphere and WebLogic • DB2 • Solaris • CIFS (unsupported) • Solr 1 • Share Connector for Activiti integration • Multi-Tenancy https://ecmarchitect.com/archives/2017/12/02/4305
  • 23. Learn. Connect. Collaborate. Alfresco 6.1 • CIFS (removed) • NTLM v1 – Passthru authentication subsystem is no longer available • API Deprecation – TransformService – RenditionService • Additional deprecations planned for 6.x – Embedded Activiti – Share Pages (blogs, calendars, wiki…) – Web Quick Start – Alfresco in the Cloud https://community.alfresco.com/community/ecm/blog/2018/01/03/architecture-changes-for-alfresco-content-services-version-60 https://github.com/Alfresco/acs-packaging/blob/master/CHANGELOG.md
  • 24. Learn. Connect. Collaborate. Alfresco Product Support Status • Product releases • Modules, add-ons and components • SDKs • All items currently EOM – Workdesk – Google Docs v1 and v2 – Quickr Connector – XAM Connector – Alfresco Analytics – … https://www.alfresco.com/alfresco-product-support-status
  • 26. Learn. Connect. Collaborate. Alfresco 6 Backward Compatibility Some addons will work without recompiling nor repackaging them with Alfresco SDK for version 6 • Repository includes relevant Java Library upgrades – Addons must be reviewed • Share code from 5.x is compatible – Everything should work in the same way • ADF 1.x & 2.x code from 5.2.x is compatible • Activiti workflows from 5.x are compatible – But probably you should start thinking of moving them outside ACS Repository
  • 27. Learn. Connect. Collaborate. Alfresco 6 Repository Migration Guide • Hibernate is completely remove from the product – Use iBatis framework if you had custom DAOs • Quartz has been updated to 2.3.0 – Change your Job Spring Bean definitions • Spring has been updated to 5 – Update your XSD declaration for beans – Change your “idreflocal“ to “idrefbean“ clauses – Review your testing code • Jackson has been updated to 2.9.5 – JSON Mappers based in 1.x must be rewritten https://github.com/Alfresco/alfresco-repository/wiki/ACS-6-Migration-Guide
  • 28. Learn. Connect. Collaborate. Integrations Upgrading process preserves UUIDs from Source Alfresco CML Web Services SOAP API • Removed in Alfresco 5.0 • Time to Move! CMIS • 1.1 specification (Atom / Browser) closed in 2017 • Still supported by many products REST API • Old Version still available for Share and other products • Consider migrating to New Version, based in Swagger and designed for Angular apps
  • 30. Learn. Connect. Collaborate. Alfresco 6 By Components • Distribution ZIP – Community https://www.alfresco.com/thank-you/thank-you-downloading-alfresco-community-edition – Enterprise http://support.alfresco.com • Supported Platforms https://docs.alfresco.com/6.0/concepts/supported-platforms-ACS.html • Installation instructions http://docs.alfresco.com/community/concepts/install-community-intro.html http://beecon.buzz/2017/assets/files/EF09/EF09-Installing-Alfresco-components-1-by-1.pdf
  • 31. Learn. Connect. Collaborate. Alfresco 6 Docker Compose • Not supported for Enterprise PROD installations! • Official Docker Images – Community https://hub.docker.com/u/alfresco/ – Enterprise https://quay.io/organization/alfresco • Official Docker Container Compositions – Community https://github.com/Alfresco/acs-community-deployment – Enterprise https://github.com/Alfresco/acs-deployment • Community provided deployments – https://github.com/keensoft/docker-alfresco
  • 32. Learn. Connect. Collaborate. Alfresco 6 Kubernetes • Official Helm Charts not available at https://hub.helm.sh • Official Kubernetes deployment – Community https://github.com/Alfresco/acs-community-deployment – Enterprise https://github.com/Alfresco/acs-deployment Amazon AWS CFN Template https://github.com/Alfresco/acs-deployment-aws
  • 34. Learn. Connect. Collaborate. Monitoring Logs tail, docker logs, kubectl logs Log4j logging levels to TRACE or DEBUG JVM JProfiler, YourKit Database SQL Developer, psql, mysql Performance top, nmon, kill -3
  • 35. Learn. Connect. Collaborate. Common problems Long running patches Depending on your data, some patches can take long time to complete Auditable Behavior Depending on your upgrade path, Auditable Aspect must be disabled during upgrading process Orphaned nodes Content Store Cleaner Job will purge them after upgrading Unindexed nodes Not every node can be indexed
  • 36. Learn. Connect. Collaborate. Validation • Verify that every service, subsystem and protocol is working as expected – Repository, Share, CMIS, REST API, AOS, SOLR – Transformation, Authentication, Synchronization, Search – FTP, WebDAV, AOS, SMTP, IMAP, CIFS • Verify that nodes count is the same • Verify SOLR count and errors • Verify that every addon and customization is still working
  • 37. Learn. Connect. Collaborate. Final Operations Document final operations and inform involved people before going on with the upgrading process Moving forward Switch public addresses to Final Alfresco Going back Restore your Source Alfresco Source Alfresco Final Alfresco
  • 38. Learn. Connect. Collaborate. Downtime Source Alfresco Halfway Alfresco Target Alfresco Indexer Alfresco Final Alfresco Service Downtime Upgrading Finished
  • 39.
  • 40. Upgrading to Alfresco 6 The Short History of the Long Road Angel Borroy Developer at UST Global @AngelBorroy angelborroy keensoft