SlideShare una empresa de Scribd logo
1 de 182
Descargar para leer sin conexión
Complex Joomla! Migrations 
JoomlaDay Deutschland 2014 
Sander Potjer - @sanderpotjer - Joomla! Community Leadership Team
Sander Potjer 
! 
Involved in the local Dutch Joomla community 
Joomla Community Leadership Team (CLT) member 
Company: Perfect Web Team 
ACL Manager developer 
E-mail: sander.potjer@community.joomla.org
Sander Potjer 
! 
Involved in the local Dutch Joomla community 
Joomla Community Leadership Team (CLT) member 
Company: Perfect Web Team 
ACL Manager developer 
E-mail: sander.potjer@community.joomla.org 
Slides: www.sanderpotjer.nl
Complex Joomla Migrations
Joomla Version Number
3.3.3
3.3.3 
[major].[minor].[maintenance]
3.3.3 
[major].[minor].[maintenance] 
(An increment of the major number generally indicates a major rework or rewrite of the code base)
3.3.3 
[major].[minor].[maintenance] 
(An increment of the minor number usually indicates a significant change in functionality.)
3.3.3 
[major].[minor].[maintenance] 
(An increment of the maintenance number usually indicates bug fixing within the minor release and possibly small 
enhancements and limited new features.)
2.5.2 vs 2.5.19
2.5.2 < 2.5.19
Joomla Version History
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
1.0 
1.0.15
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
1.0.15 
1.5.26
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
1.0.15 
1.5.26 
1.6.6
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4 
3.1.6
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4 
3.1.6 
3.2.3
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4 
3.1.6 
3.2.3
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4 
3.1.6 
3.2.3
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5 
1.0 
1.0.15 
1.5.26 
1.6.6 
1.7.5 
2.5.19 
3.0.4 
3.1.6 
3.2.3
Simplify Things
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5 
Joomla 1
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5 
Joomla 1 
Joomla 2
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5 
Joomla 1 
Joomla 2 
Joomla 3
Supported Joomla Versions
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
Joomla 1
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
Joomla 1 
Unsupported: migrate
Joomla 2
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
Joomla 2 
Use latest version: 2.5.24
Joomla 3
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
Joomla 3 
Use latest version: 3.3.3
Migration. Upgrade. Update.
3.3.3 
Migration.Upgrade.Update
3.3.3 
[major].[minor].[maintenance]
3.0.0 
[major].[minor].[maintenance] 
(Can be incompatible with prior major releases.)
3.3.0 
[major].[minor].[maintenance] 
(Moderate to high level of backward compatibility with previous minor increments.)
3.3.3 
[major].[minor].[maintenance] 
(Fully backward compatible with previous maintenance increments.)
Upgrade Strategy
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 
Joomla 1.0 
Joom1.l0a 1.5 
Joomla 1.6 
Joomla 1.7 
Joom1.l0a 2.5 
Joomla 3.0 
Joom1.l0a 3.1 
Joom1.l0a 3.2 
Joom1.l0a 3.3 
Joom1.l0a 3.4 
Joomla 3.5
Joomla 1 -> Joomla 2 or 3
Joomla 2 -> Joomla 3
Joomla versions are as simple as
Joomla versions are as simple as 
Joomla 1 = upgrade your site
Joomla versions are as simple as 
Joomla 1 = upgrade your site 
Joomla 2 = use latest version
Joomla versions are as simple as 
Joomla 1 = upgrade your site 
Joomla 2 = use latest version 
Joomla 3 = use latest version
Joomla 1 = upgrade your site
Migrations
Migration Questions
1 : 1 migration?
Frustrations?
Wishes?
Unused?
Extensions Available?
Better Alternatives?
3 Types of Migrations
Easy 
Type: static sites 
Freeze: 1 week or more 
Downtime: not relevant 
Preparations: none, replace when ready
Hard 
Type: dynamic sites 
Freeze: max. 1 week 
Downtime: max. 1 hour 
Preparations: as much as possible
Complicated 
Type: very dynamic & high traffic sites 
Freeze: max. 1 day 
Downtime: each minute costs money 
Preparations: very detailed & tested
Tips for any 
Joomla Migration
-> 
Choose Joomla 3
Test Backup!
Clean up
Empty Trash
Database Fix
Error Reporting Maximum
Same Environment
Test 
Test 
Test 
Test 
Test 
Test
Typical Migration Process
1. Backup
1. Backup 
2. Create copy of website (www.site.com/15)
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3)
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3)
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3) 
5. Install Joomla 3 version of extensions
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3) 
5. Install Joomla 3 version of extensions 
6. Adjust files, like templates & Joomla settings
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3) 
5. Install Joomla 3 version of extensions 
6. Adjust files, like templates & Joomla settings 
7. Test result of migration
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3) 
5. Install Joomla 3 version of extensions 
6. Adjust files, like templates & Joomla settings 
7. Test result of migration 
8. Publish new website (.com -> .com/old & .com/3 -> .com)
Case: 
Complex Migration Request
Case: 
Complex Migration Request
Case: 
Complex Migration Request 
- Migration within max 1,5 day freeze, max 2 hours 
downtime during evening hours 
- Identical layout, functionality, URLs, menus, articles, etc. 
- In short: the visitor should not see or experience 
differences between Joomla 1.5 and Joomla 2.5 version
1. Backup 
2. Create copy of website (www.site.com/15) 
3. Install new Joomla version (www.site.com/3) 
4. Migrate website data (.com/15 -> .com/3) 
5. Install Joomla 3 version of extensions 
6. Adjust files, like templates & Joomla settings 
7. Test result of migration 
8. Publish new website (.com -> .com/old & .com/3 -> .com)
1500 articles 
650 menu-items 
950 modules 
20+ extensions
Setting Change Example 
Menu-Module 
! 
!
Setting Change Example 
Menu-Module 
! 
vs 
level 
Joomla 1.5 Joomla 2.5 
0-3 1-4
Record Database Changes
Create Custom Script 
www.site.com/migrate.php
Change Modules with ID’s 
223, 294 and 357
Change Modules with ID’s 
223, 294 and 357 
- “startLevel” of module with ID 233 is changed from 2 to 3. 
- “menutype” is added for module with ID 294 
- “You are here” text is set to “hide” for the breadcrumbs 
module with ID 357.
www.site.com/migrate.php 
define('_JEXEC', 1);! 
! 
// Connect with Joomla! 
define('JPATH_BASE', __DIR__);! 
require_once JPATH_BASE . '/includes/defines.php';! 
require_once JPATH_BASE . '/includes/framework.php';! 
! 
// Database connection! 
$db = JFactory::getDBO();
/**! www.site.com/migrate.php 
* Module changes! 
*/! 
! 
// Get the modules that need changes! 
$query = $db->getQuery(true);! 
$query->select('*')! 
!->from('#__modules')! 
!->where('id IN (233,294,357)');! 
$db->setQuery($query);! 
$modules = $db->loadObjectList('id');! 
! 
foreach($modules as $module)! 
{! 
!$module->params = json_decode($module->params);! 
}
www.site.com/migrate.php 
// Change startLevel! 
if ($modules[233]->params->startLevel == 2)! 
{! 
!$modules[233]->params->startLevel = 3;! 
!echo('<strong>Module [233]:</strong> startLevel: 3 <br/>');! 
}
www.site.com/migrate.php 
// Set menutype! 
if (empty($modules[294]->params->menutype))! 
{! 
!$modules[294]->params->menutype = 'mainmenu';! 
!echo('<strong>Module [294]:</strong> menutype: mainmenu <br/ 
>');! 
}
www.site.com/migrate.php 
// Hide breadcrumb "You are here"! 
if (!$modules[357]->params->showHere)! 
{! 
!$modules[357]->params->showHere = 0;! 
!echo('<strong>Module [357]:</strong> showHere: 0 <br/>');! 
}
www.site.com/migrate.php 
// Save new module params! 
foreach($modules as $id=>$module) ! 
{! 
!$params !!= json_encode($module->params);! 
!$mod !!!= new JObject();! 
!$mod->id !!= $id;! 
!$mod->params!= $params;! 
!! 
!$result = $db->updateObject('#__modules', $mod, 'id');! 
}
Correct component specific
Correct component specific 
- set Access to 1 for all items in ZOO
www.site.com/migrate.php 
/**! 
* Component changes! 
*/! 
! 
// ZOO access fixes! 
$query !!= $db->getQuery(true);! 
$fields != array('access=1');! 
$conditions = array('access=0');! 
$query->update($db->quoteName('#__zoo_item'))->set($fields)- 
>where($conditions);! 
$db->setQuery($query);! 
! 
$result = $db->query();! 
echo('<strong>ZOO:</strong> Access set to 1 <br/>');
Custom Script Example 
https://gist.github.com/sanderpotjer/9311435
Clean Joomla 3 Base
Test
Adjust Custom Script
Test
Adjust Custom Script
Test
Adjust Custom Script
Migration Script 
(non code)
10:30 - 11:00 hour 
Migration day kickoff meeting
11:00 - 12:30 hour 
Exact.nl backup maken & compare: 
- Create Backup of Joomla 1.5 version 
- Install locally 
- Compare Backup with version used for preparations 
- Adjust Joomla 2.5 site if needed
11:00 - 12:30 hour 
Joomla 1.5 site preparations: 
- Empty categories trash 
- Empty articles trash 
- Empty menu trash 
- General Check-In
11:00 - 12:30 hour 
Joomla 2.5 site preparations: 
- Create new database with "clean" dataset (without 
exact.nl content data) 
- SP Upgrade configuration 
- Static server files sync between 1.5 site and 2.5 site 
- Publish Joomla 2.5 base version with static files on 
www.exact.nl/25/
Lunch
13:00 - 16:00 hour 
Test migrations 
- Test migraties according "Migration Manual" 
- After test, restore as "Joomla 2.5 site preparation" 
status 
! 
Check result of test migrations [Client] 
- Test migration result and report issues
13:00 - 16:00 hour 
Roll-out fixes 
- In case of issues, improve migration script 
! 
Prepare off-line page 
- Specific page visible during the migration downtime
16:00 - 17:30 hour 
Final opportunity for content changes on live site 
- No content changes after 16:00 hour 
- Administration area restricted 
- Visitors can still use the full functionality of the website, 
form submissions won’t get lost
16:00 - 17:30 hour 
Final test migration 
- Final test migraties according "Migration Manual" 
! 
Final Joomla 2.5 site preparations: 
- Create new database with "clean" dataset 
- Static server files sync between 1.5 site and 2.5 site 
- Publish Joomla 2.5 base version with static files on
Pizza!
19:00 - 19:15 hour 
Final checks 
- Check if Joomla 1.5 site is ready 
- Check if Joomla 2.5 site is ready 
- Check database tables 
- Check if required software & connections are ready 
- Check if hosting provider is ready
19:15 - 19:30 hour 
Migrations www.exact.nl 
- Final migraties according "Migration Manual" 
- During this period www.exact.nl is offline, visitors can’t 
use the website
19:30 - ? : ? hour 
Monitoring of www.exact.nl 
- Monitoring of migrated website 
- Apply small bug-fixes if needed 
- In case of bigger issues a revert of the Joomla 1.5 site 
according the "Emergency Revert Manual" 
- Old Joomla 1.5 version available for reference on 
www.exact.nl/15/
Celebrate!
Celebrate!
Migration 
Manual
1) Set exact.nl (Joomla 1.5) site off-line (+/- 0,5 minute)
2) Back-up Joomla 1.5 site (+/- 5 minutes)
3) SP Upgrade migration (+/- 1 minute) 
Data migration via SP Upgrade extension 
- Users 
- Content 
- Newsfeed 
- Menus 
- Modules
4) Manual tables export, conversion & import (+/- 3 minutes) 
jos_advancedmodules 
jos_exactlog 
jos_exacttracking 
jos_exacttracking_pages 
jos_jdownloads_* 
jos_rseventspro_* 
jos_rsfirewall_* (except config) 
jos_rsform_* 
jos_snippets 
jos_virtuemart_* (except config) 
jos_widgetkit_widget 
jos_zoo_*
5) Manual operations in 2.5 site (+/- 2 minutes) 
- Install Advanced Module Manager 
- Install RSEventsPro 
- Install RSFormPro 
- Install RSFirewall 
- Run VirtueMart Tools -> Update tables 
- Run SP Upgrade 
- Run custom Exact conversion script
5) Manual operations in 2.5 site (+/- 2 minutes) 
- Run Joomla Advanced Search (Finder) indexer 
- Fix Asset Issues with ACL Manager 
- Configure frontend/backend .htaccess files 
- Check memcache configuration 
- Publish obGrapper pipes 
- Clear cache
6) Check result (+/- 2 minutes) 
Check migration result on www.exact.nl/25/
7) Move Joomla 1.5 site (+/- 0,5 minute) 
Move www.exact.nl to www.exact.nl/15/
8) Move Joomla 2.5 site (+/- 0,5 minute) 
Move www.exact.nl/25/ to www.exact.nl/
9) Adjust configuration.php paths (+/- 0,5 minute) 
Adjust the /tmp/ and /log/ folder paths in 
www.exact.nl/configuration.php and 
www.exact.nl/15/configuration.php
10) Set exact.nl (Joomla 2.5) site on-line (+/- 0,5 minute)
Emergency 
Revert Manual
1) Set exact.nl (Joomla 2.5) site off-line (+/- 0,5 minute)
2) Move Joomla 2.5 site (+/- 0,5 minute) 
Move www.exact.nl to www.exact.nl/25/
3) Move Joomla 1.5 site (+/- 0,5 minute) 
Move www.exact.nl/15/ to www.exact.nl/
4) Adjust configuration.php paths (+/- 0,5 minute) 
Adjust the /tmp/ and /log/ folder paths in 
www.exact.nl/configuration.php and 
www.exact.nl/25/configuration.php
5) Set exact.nl (Joomla 1.5) site on-line (+/- 0,5 minute)
Case Results: 
Complex Migration Request 
! 
freeze & downtime: 6 minutes
Case Results: 
Complex Migration Request 
! 
freeze & downtime: 6 minutes 
preparation time: 2-3 weeks
Resources 
Article: “Complex Joomla! 1.5 Migration With Minimal Downtime” 
http://magazine.joomla.org/issues/issue-mar-2014/item/1794-complex-joomla-15-migration-with-minimal-downtime 
! 
Custom Migration Script Example 
https://gist.github.com/sanderpotjer/9311435 
! 
Presentation slides 
http://sanderpotjer.nl
Complex Joomla! Migrations

Más contenido relacionado

Similar a Complex Joomla! Migrations

Joomla 2 5 - A Preview
Joomla 2 5 - A PreviewJoomla 2 5 - A Preview
Joomla 2 5 - A PreviewJeremy Wilken
 
Template changes for Joomla 1.6
Template changes for Joomla 1.6Template changes for Joomla 1.6
Template changes for Joomla 1.6Chris Davenport
 
Joomladay UK - Joomla! Where Are We Now
Joomladay UK - Joomla! Where Are We NowJoomladay UK - Joomla! Where Are We Now
Joomladay UK - Joomla! Where Are We NowWilco Jansen
 
Joomla Tutorial: Joomla 2.5 a first look
Joomla Tutorial: Joomla 2.5 a first lookJoomla Tutorial: Joomla 2.5 a first look
Joomla Tutorial: Joomla 2.5 a first lookTim Plummer
 
Joomla2 5-afirstlook-120214054019-phpapp01
Joomla2 5-afirstlook-120214054019-phpapp01Joomla2 5-afirstlook-120214054019-phpapp01
Joomla2 5-afirstlook-120214054019-phpapp01Deepak Sangramsingh
 
Upgrading Joomla 2.5 to Joomla 3
Upgrading Joomla 2.5 to Joomla 3Upgrading Joomla 2.5 to Joomla 3
Upgrading Joomla 2.5 to Joomla 3Peter Bui
 
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...Ofer Cohen
 
JoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote AddressJoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote Addressjdaychi
 
Migrating from Joomla 1.5 to Joomla 2.5
Migrating from Joomla 1.5 to Joomla 2.5Migrating from Joomla 1.5 to Joomla 2.5
Migrating from Joomla 1.5 to Joomla 2.5Pomond
 
JoomlaChicago - Loop - February 2012 Presentation
JoomlaChicago - Loop - February 2012 PresentationJoomlaChicago - Loop - February 2012 Presentation
JoomlaChicago - Loop - February 2012 PresentationJoomlaChicago - Loop
 
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versions
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versionsJoomladay Switzerland - Joomla! 1.5 and roadmap to future versions
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versionsWilco Jansen
 
Molajo - Joomla based distributions
Molajo - Joomla based distributionsMolajo - Joomla based distributions
Molajo - Joomla based distributionskauselot
 
State of Joomla! - keynote at Joomla!Day Minnesota 2015
State of Joomla! - keynote at Joomla!Day Minnesota 2015State of Joomla! - keynote at Joomla!Day Minnesota 2015
State of Joomla! - keynote at Joomla!Day Minnesota 2015Sarah Watz
 
Quick introduction to joomla
Quick introduction to joomlaQuick introduction to joomla
Quick introduction to joomlaSabuj Kundu
 
JSN Mico Configuration Manual
JSN Mico Configuration ManualJSN Mico Configuration Manual
JSN Mico Configuration ManualJoomlaShine
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development CompanySanjay Kumar
 
Bootcamp Lucerne, CH 2008 - Migration
Bootcamp Lucerne, CH 2008 -  MigrationBootcamp Lucerne, CH 2008 -  Migration
Bootcamp Lucerne, CH 2008 - MigrationJoomlatools
 

Similar a Complex Joomla! Migrations (20)

Joomla 2 5 - A Preview
Joomla 2 5 - A PreviewJoomla 2 5 - A Preview
Joomla 2 5 - A Preview
 
Template changes for Joomla 1.6
Template changes for Joomla 1.6Template changes for Joomla 1.6
Template changes for Joomla 1.6
 
Joomladay UK - Joomla! Where Are We Now
Joomladay UK - Joomla! Where Are We NowJoomladay UK - Joomla! Where Are We Now
Joomladay UK - Joomla! Where Are We Now
 
Joomla Tutorial: Joomla 2.5 a first look
Joomla Tutorial: Joomla 2.5 a first lookJoomla Tutorial: Joomla 2.5 a first look
Joomla Tutorial: Joomla 2.5 a first look
 
Joomla2 5-afirstlook-120214054019-phpapp01
Joomla2 5-afirstlook-120214054019-phpapp01Joomla2 5-afirstlook-120214054019-phpapp01
Joomla2 5-afirstlook-120214054019-phpapp01
 
Upgrading Joomla 2.5 to Joomla 3
Upgrading Joomla 2.5 to Joomla 3Upgrading Joomla 2.5 to Joomla 3
Upgrading Joomla 2.5 to Joomla 3
 
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...
Joomla!Day Poland 2013 - Joomla and Open Source - How it works and how can I ...
 
JoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote AddressJoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote Address
 
Migrating from Joomla 1.5 to Joomla 2.5
Migrating from Joomla 1.5 to Joomla 2.5Migrating from Joomla 1.5 to Joomla 2.5
Migrating from Joomla 1.5 to Joomla 2.5
 
JoomlaChicago - Loop - February 2012 Presentation
JoomlaChicago - Loop - February 2012 PresentationJoomlaChicago - Loop - February 2012 Presentation
JoomlaChicago - Loop - February 2012 Presentation
 
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versions
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versionsJoomladay Switzerland - Joomla! 1.5 and roadmap to future versions
Joomladay Switzerland - Joomla! 1.5 and roadmap to future versions
 
Joomla - CMS
Joomla - CMSJoomla - CMS
Joomla - CMS
 
Molajo - Joomla based distributions
Molajo - Joomla based distributionsMolajo - Joomla based distributions
Molajo - Joomla based distributions
 
State of Joomla! - keynote at Joomla!Day Minnesota 2015
State of Joomla! - keynote at Joomla!Day Minnesota 2015State of Joomla! - keynote at Joomla!Day Minnesota 2015
State of Joomla! - keynote at Joomla!Day Minnesota 2015
 
Quick introduction to joomla
Quick introduction to joomlaQuick introduction to joomla
Quick introduction to joomla
 
FAQ's in Joomla 2.5
FAQ's in Joomla 2.5FAQ's in Joomla 2.5
FAQ's in Joomla 2.5
 
JSN Mico Configuration Manual
JSN Mico Configuration ManualJSN Mico Configuration Manual
JSN Mico Configuration Manual
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development Company
 
Joomla 3 and Beyond
Joomla 3 and BeyondJoomla 3 and Beyond
Joomla 3 and Beyond
 
Bootcamp Lucerne, CH 2008 - Migration
Bootcamp Lucerne, CH 2008 -  MigrationBootcamp Lucerne, CH 2008 -  Migration
Bootcamp Lucerne, CH 2008 - Migration
 

Más de Sander Potjer

Daarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publicerenDaarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publicerenSander Potjer
 
Daarom Joomla! - Inspiratie uit de praktijk
Daarom Joomla! - Inspiratie uit de praktijkDaarom Joomla! - Inspiratie uit de praktijk
Daarom Joomla! - Inspiratie uit de praktijkSander Potjer
 
Daarom Joomla! - Een fantastische basis
Daarom Joomla! - Een fantastische basisDaarom Joomla! - Een fantastische basis
Daarom Joomla! - Een fantastische basisSander Potjer
 
Performance budget @ Joomla! Performance Expert Sessie
Performance budget @ Joomla! Performance Expert SessiePerformance budget @ Joomla! Performance Expert Sessie
Performance budget @ Joomla! Performance Expert SessieSander Potjer
 
Technieken & tools @ Joomla! Performance Expert Sessie
Technieken & tools @ Joomla! Performance Expert SessieTechnieken & tools @ Joomla! Performance Expert Sessie
Technieken & tools @ Joomla! Performance Expert SessieSander Potjer
 
CDN @ Joomla! Performance Expert Sessie
CDN @ Joomla! Performance Expert SessieCDN @ Joomla! Performance Expert Sessie
CDN @ Joomla! Performance Expert SessieSander Potjer
 
Proxy caching @ Joomla! Performance Expert Sessie
Proxy caching @ Joomla! Performance Expert SessieProxy caching @ Joomla! Performance Expert Sessie
Proxy caching @ Joomla! Performance Expert SessieSander Potjer
 
Server performance @ Joomla! Performance Expert Sessie
Server performance @ Joomla! Performance Expert SessieServer performance @ Joomla! Performance Expert Sessie
Server performance @ Joomla! Performance Expert SessieSander Potjer
 
.htaccess performance @ Joomla! Performance Expert Sessie
.htaccess performance @ Joomla! Performance Expert Sessie.htaccess performance @ Joomla! Performance Expert Sessie
.htaccess performance @ Joomla! Performance Expert SessieSander Potjer
 
Google AMP @ Joomla! Performance Expert Sessie
Google AMP @ Joomla! Performance Expert SessieGoogle AMP @ Joomla! Performance Expert Sessie
Google AMP @ Joomla! Performance Expert SessieSander Potjer
 
Optimaliseer afbeeldingen @ Joomla! Performance Expert Sessie
Optimaliseer afbeeldingen @ Joomla! Performance Expert SessieOptimaliseer afbeeldingen @ Joomla! Performance Expert Sessie
Optimaliseer afbeeldingen @ Joomla! Performance Expert SessieSander Potjer
 
Optimalisatie plugins @ Joomla! Performance Expert Sessie
Optimalisatie plugins @ Joomla! Performance Expert SessieOptimalisatie plugins @ Joomla! Performance Expert Sessie
Optimalisatie plugins @ Joomla! Performance Expert SessieSander Potjer
 
Cache handlers @ Joomla! Performance Expert Sessie
Cache handlers @ Joomla! Performance Expert SessieCache handlers @ Joomla! Performance Expert Sessie
Cache handlers @ Joomla! Performance Expert SessieSander Potjer
 
Performance & Joomla! core @ Joomla! Performance Expert Sessie
Performance & Joomla! core @ Joomla! Performance Expert SessiePerformance & Joomla! core @ Joomla! Performance Expert Sessie
Performance & Joomla! core @ Joomla! Performance Expert SessieSander Potjer
 
Joomla! First - JoomlaDagen 2017 #jd17nl
Joomla! First - JoomlaDagen 2017 #jd17nlJoomla! First - JoomlaDagen 2017 #jd17nl
Joomla! First - JoomlaDagen 2017 #jd17nlSander Potjer
 
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)Sander Potjer
 
Performance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessiePerformance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessieSander Potjer
 
Social Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert SessieSocial Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert SessieSander Potjer
 
Joomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert SessieJoomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert SessieSander Potjer
 
SEO Audit - Joomla SEO Expert Sessie
SEO Audit - Joomla SEO Expert SessieSEO Audit - Joomla SEO Expert Sessie
SEO Audit - Joomla SEO Expert SessieSander Potjer
 

Más de Sander Potjer (20)

Daarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publicerenDaarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publiceren
 
Daarom Joomla! - Inspiratie uit de praktijk
Daarom Joomla! - Inspiratie uit de praktijkDaarom Joomla! - Inspiratie uit de praktijk
Daarom Joomla! - Inspiratie uit de praktijk
 
Daarom Joomla! - Een fantastische basis
Daarom Joomla! - Een fantastische basisDaarom Joomla! - Een fantastische basis
Daarom Joomla! - Een fantastische basis
 
Performance budget @ Joomla! Performance Expert Sessie
Performance budget @ Joomla! Performance Expert SessiePerformance budget @ Joomla! Performance Expert Sessie
Performance budget @ Joomla! Performance Expert Sessie
 
Technieken & tools @ Joomla! Performance Expert Sessie
Technieken & tools @ Joomla! Performance Expert SessieTechnieken & tools @ Joomla! Performance Expert Sessie
Technieken & tools @ Joomla! Performance Expert Sessie
 
CDN @ Joomla! Performance Expert Sessie
CDN @ Joomla! Performance Expert SessieCDN @ Joomla! Performance Expert Sessie
CDN @ Joomla! Performance Expert Sessie
 
Proxy caching @ Joomla! Performance Expert Sessie
Proxy caching @ Joomla! Performance Expert SessieProxy caching @ Joomla! Performance Expert Sessie
Proxy caching @ Joomla! Performance Expert Sessie
 
Server performance @ Joomla! Performance Expert Sessie
Server performance @ Joomla! Performance Expert SessieServer performance @ Joomla! Performance Expert Sessie
Server performance @ Joomla! Performance Expert Sessie
 
.htaccess performance @ Joomla! Performance Expert Sessie
.htaccess performance @ Joomla! Performance Expert Sessie.htaccess performance @ Joomla! Performance Expert Sessie
.htaccess performance @ Joomla! Performance Expert Sessie
 
Google AMP @ Joomla! Performance Expert Sessie
Google AMP @ Joomla! Performance Expert SessieGoogle AMP @ Joomla! Performance Expert Sessie
Google AMP @ Joomla! Performance Expert Sessie
 
Optimaliseer afbeeldingen @ Joomla! Performance Expert Sessie
Optimaliseer afbeeldingen @ Joomla! Performance Expert SessieOptimaliseer afbeeldingen @ Joomla! Performance Expert Sessie
Optimaliseer afbeeldingen @ Joomla! Performance Expert Sessie
 
Optimalisatie plugins @ Joomla! Performance Expert Sessie
Optimalisatie plugins @ Joomla! Performance Expert SessieOptimalisatie plugins @ Joomla! Performance Expert Sessie
Optimalisatie plugins @ Joomla! Performance Expert Sessie
 
Cache handlers @ Joomla! Performance Expert Sessie
Cache handlers @ Joomla! Performance Expert SessieCache handlers @ Joomla! Performance Expert Sessie
Cache handlers @ Joomla! Performance Expert Sessie
 
Performance & Joomla! core @ Joomla! Performance Expert Sessie
Performance & Joomla! core @ Joomla! Performance Expert SessiePerformance & Joomla! core @ Joomla! Performance Expert Sessie
Performance & Joomla! core @ Joomla! Performance Expert Sessie
 
Joomla! First - JoomlaDagen 2017 #jd17nl
Joomla! First - JoomlaDagen 2017 #jd17nlJoomla! First - JoomlaDagen 2017 #jd17nl
Joomla! First - JoomlaDagen 2017 #jd17nl
 
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
 
Performance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessiePerformance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert Sessie
 
Social Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert SessieSocial Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert Sessie
 
Joomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert SessieJoomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert Sessie
 
SEO Audit - Joomla SEO Expert Sessie
SEO Audit - Joomla SEO Expert SessieSEO Audit - Joomla SEO Expert Sessie
SEO Audit - Joomla SEO Expert Sessie
 

Último

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Último (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Complex Joomla! Migrations

  • 1. Complex Joomla! Migrations JoomlaDay Deutschland 2014 Sander Potjer - @sanderpotjer - Joomla! Community Leadership Team
  • 2. Sander Potjer ! Involved in the local Dutch Joomla community Joomla Community Leadership Team (CLT) member Company: Perfect Web Team ACL Manager developer E-mail: sander.potjer@community.joomla.org
  • 3. Sander Potjer ! Involved in the local Dutch Joomla community Joomla Community Leadership Team (CLT) member Company: Perfect Web Team ACL Manager developer E-mail: sander.potjer@community.joomla.org Slides: www.sanderpotjer.nl
  • 4.
  • 9. 3.3.3 [major].[minor].[maintenance] (An increment of the major number generally indicates a major rework or rewrite of the code base)
  • 10. 3.3.3 [major].[minor].[maintenance] (An increment of the minor number usually indicates a significant change in functionality.)
  • 11. 3.3.3 [major].[minor].[maintenance] (An increment of the maintenance number usually indicates bug fixing within the minor release and possibly small enhancements and limited new features.)
  • 15. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
  • 16. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 1.0 1.0.15
  • 17. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 1.0.15 1.5.26
  • 18. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 1.0.15 1.5.26 1.6.6
  • 19. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 1.0 1.0.15 1.5.26 1.6.6 1.7.5
  • 20. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19
  • 21. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 1.0 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4
  • 22. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 1.0 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4 3.1.6
  • 23. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 1.0 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4 3.1.6 3.2.3
  • 24. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 1.0 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4 3.1.6 3.2.3
  • 25. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4 3.1.6 3.2.3
  • 26. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5 1.0 1.0.15 1.5.26 1.6.6 1.7.5 2.5.19 3.0.4 3.1.6 3.2.3
  • 28. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 29. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 30. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 31. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 32. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5 Joomla 1
  • 33. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5 Joomla 1 Joomla 2
  • 34. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5 Joomla 1 Joomla 2 Joomla 3
  • 36. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 37. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 38. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 40. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 43. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 44. Joomla 2 Use latest version: 2.5.24
  • 46. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 47. Joomla 3 Use latest version: 3.3.3
  • 51. 3.0.0 [major].[minor].[maintenance] (Can be incompatible with prior major releases.)
  • 52. 3.3.0 [major].[minor].[maintenance] (Moderate to high level of backward compatibility with previous minor increments.)
  • 53. 3.3.3 [major].[minor].[maintenance] (Fully backward compatible with previous maintenance increments.)
  • 55. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 56. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 57.
  • 58. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 59.
  • 60. 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Joomla 1.0 Joom1.l0a 1.5 Joomla 1.6 Joomla 1.7 Joom1.l0a 2.5 Joomla 3.0 Joom1.l0a 3.1 Joom1.l0a 3.2 Joom1.l0a 3.3 Joom1.l0a 3.4 Joomla 3.5
  • 61. Joomla 1 -> Joomla 2 or 3
  • 62.
  • 63.
  • 64.
  • 65. Joomla 2 -> Joomla 3
  • 66.
  • 67.
  • 68.
  • 69.
  • 70. Joomla versions are as simple as
  • 71. Joomla versions are as simple as Joomla 1 = upgrade your site
  • 72. Joomla versions are as simple as Joomla 1 = upgrade your site Joomla 2 = use latest version
  • 73. Joomla versions are as simple as Joomla 1 = upgrade your site Joomla 2 = use latest version Joomla 3 = use latest version
  • 74. Joomla 1 = upgrade your site
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 83. 1 : 1 migration?
  • 84.
  • 90. 3 Types of Migrations
  • 91. Easy Type: static sites Freeze: 1 week or more Downtime: not relevant Preparations: none, replace when ready
  • 92. Hard Type: dynamic sites Freeze: max. 1 week Downtime: max. 1 hour Preparations: as much as possible
  • 93. Complicated Type: very dynamic & high traffic sites Freeze: max. 1 day Downtime: each minute costs money Preparations: very detailed & tested
  • 94. Tips for any Joomla Migration
  • 96.
  • 100.
  • 102.
  • 105. Test Test Test Test Test Test
  • 106.
  • 109. 1. Backup 2. Create copy of website (www.site.com/15)
  • 110. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3)
  • 111. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3)
  • 112. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3) 5. Install Joomla 3 version of extensions
  • 113. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3) 5. Install Joomla 3 version of extensions 6. Adjust files, like templates & Joomla settings
  • 114. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3) 5. Install Joomla 3 version of extensions 6. Adjust files, like templates & Joomla settings 7. Test result of migration
  • 115. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3) 5. Install Joomla 3 version of extensions 6. Adjust files, like templates & Joomla settings 7. Test result of migration 8. Publish new website (.com -> .com/old & .com/3 -> .com)
  • 118. Case: Complex Migration Request - Migration within max 1,5 day freeze, max 2 hours downtime during evening hours - Identical layout, functionality, URLs, menus, articles, etc. - In short: the visitor should not see or experience differences between Joomla 1.5 and Joomla 2.5 version
  • 119. 1. Backup 2. Create copy of website (www.site.com/15) 3. Install new Joomla version (www.site.com/3) 4. Migrate website data (.com/15 -> .com/3) 5. Install Joomla 3 version of extensions 6. Adjust files, like templates & Joomla settings 7. Test result of migration 8. Publish new website (.com -> .com/old & .com/3 -> .com)
  • 120. 1500 articles 650 menu-items 950 modules 20+ extensions
  • 121. Setting Change Example Menu-Module ! !
  • 122. Setting Change Example Menu-Module ! vs level Joomla 1.5 Joomla 2.5 0-3 1-4
  • 124. Create Custom Script www.site.com/migrate.php
  • 125. Change Modules with ID’s 223, 294 and 357
  • 126. Change Modules with ID’s 223, 294 and 357 - “startLevel” of module with ID 233 is changed from 2 to 3. - “menutype” is added for module with ID 294 - “You are here” text is set to “hide” for the breadcrumbs module with ID 357.
  • 127. www.site.com/migrate.php define('_JEXEC', 1);! ! // Connect with Joomla! define('JPATH_BASE', __DIR__);! require_once JPATH_BASE . '/includes/defines.php';! require_once JPATH_BASE . '/includes/framework.php';! ! // Database connection! $db = JFactory::getDBO();
  • 128. /**! www.site.com/migrate.php * Module changes! */! ! // Get the modules that need changes! $query = $db->getQuery(true);! $query->select('*')! !->from('#__modules')! !->where('id IN (233,294,357)');! $db->setQuery($query);! $modules = $db->loadObjectList('id');! ! foreach($modules as $module)! {! !$module->params = json_decode($module->params);! }
  • 129. www.site.com/migrate.php // Change startLevel! if ($modules[233]->params->startLevel == 2)! {! !$modules[233]->params->startLevel = 3;! !echo('<strong>Module [233]:</strong> startLevel: 3 <br/>');! }
  • 130. www.site.com/migrate.php // Set menutype! if (empty($modules[294]->params->menutype))! {! !$modules[294]->params->menutype = 'mainmenu';! !echo('<strong>Module [294]:</strong> menutype: mainmenu <br/ >');! }
  • 131. www.site.com/migrate.php // Hide breadcrumb "You are here"! if (!$modules[357]->params->showHere)! {! !$modules[357]->params->showHere = 0;! !echo('<strong>Module [357]:</strong> showHere: 0 <br/>');! }
  • 132. www.site.com/migrate.php // Save new module params! foreach($modules as $id=>$module) ! {! !$params !!= json_encode($module->params);! !$mod !!!= new JObject();! !$mod->id !!= $id;! !$mod->params!= $params;! !! !$result = $db->updateObject('#__modules', $mod, 'id');! }
  • 134. Correct component specific - set Access to 1 for all items in ZOO
  • 135. www.site.com/migrate.php /**! * Component changes! */! ! // ZOO access fixes! $query !!= $db->getQuery(true);! $fields != array('access=1');! $conditions = array('access=0');! $query->update($db->quoteName('#__zoo_item'))->set($fields)- >where($conditions);! $db->setQuery($query);! ! $result = $db->query();! echo('<strong>ZOO:</strong> Access set to 1 <br/>');
  • 136. Custom Script Example https://gist.github.com/sanderpotjer/9311435
  • 137. Clean Joomla 3 Base
  • 138. Test
  • 140. Test
  • 142. Test
  • 145.
  • 146. 10:30 - 11:00 hour Migration day kickoff meeting
  • 147. 11:00 - 12:30 hour Exact.nl backup maken & compare: - Create Backup of Joomla 1.5 version - Install locally - Compare Backup with version used for preparations - Adjust Joomla 2.5 site if needed
  • 148. 11:00 - 12:30 hour Joomla 1.5 site preparations: - Empty categories trash - Empty articles trash - Empty menu trash - General Check-In
  • 149. 11:00 - 12:30 hour Joomla 2.5 site preparations: - Create new database with "clean" dataset (without exact.nl content data) - SP Upgrade configuration - Static server files sync between 1.5 site and 2.5 site - Publish Joomla 2.5 base version with static files on www.exact.nl/25/
  • 150. Lunch
  • 151. 13:00 - 16:00 hour Test migrations - Test migraties according "Migration Manual" - After test, restore as "Joomla 2.5 site preparation" status ! Check result of test migrations [Client] - Test migration result and report issues
  • 152. 13:00 - 16:00 hour Roll-out fixes - In case of issues, improve migration script ! Prepare off-line page - Specific page visible during the migration downtime
  • 153. 16:00 - 17:30 hour Final opportunity for content changes on live site - No content changes after 16:00 hour - Administration area restricted - Visitors can still use the full functionality of the website, form submissions won’t get lost
  • 154. 16:00 - 17:30 hour Final test migration - Final test migraties according "Migration Manual" ! Final Joomla 2.5 site preparations: - Create new database with "clean" dataset - Static server files sync between 1.5 site and 2.5 site - Publish Joomla 2.5 base version with static files on
  • 155. Pizza!
  • 156. 19:00 - 19:15 hour Final checks - Check if Joomla 1.5 site is ready - Check if Joomla 2.5 site is ready - Check database tables - Check if required software & connections are ready - Check if hosting provider is ready
  • 157. 19:15 - 19:30 hour Migrations www.exact.nl - Final migraties according "Migration Manual" - During this period www.exact.nl is offline, visitors can’t use the website
  • 158. 19:30 - ? : ? hour Monitoring of www.exact.nl - Monitoring of migrated website - Apply small bug-fixes if needed - In case of bigger issues a revert of the Joomla 1.5 site according the "Emergency Revert Manual" - Old Joomla 1.5 version available for reference on www.exact.nl/15/
  • 162. 1) Set exact.nl (Joomla 1.5) site off-line (+/- 0,5 minute)
  • 163. 2) Back-up Joomla 1.5 site (+/- 5 minutes)
  • 164. 3) SP Upgrade migration (+/- 1 minute) Data migration via SP Upgrade extension - Users - Content - Newsfeed - Menus - Modules
  • 165. 4) Manual tables export, conversion & import (+/- 3 minutes) jos_advancedmodules jos_exactlog jos_exacttracking jos_exacttracking_pages jos_jdownloads_* jos_rseventspro_* jos_rsfirewall_* (except config) jos_rsform_* jos_snippets jos_virtuemart_* (except config) jos_widgetkit_widget jos_zoo_*
  • 166. 5) Manual operations in 2.5 site (+/- 2 minutes) - Install Advanced Module Manager - Install RSEventsPro - Install RSFormPro - Install RSFirewall - Run VirtueMart Tools -> Update tables - Run SP Upgrade - Run custom Exact conversion script
  • 167. 5) Manual operations in 2.5 site (+/- 2 minutes) - Run Joomla Advanced Search (Finder) indexer - Fix Asset Issues with ACL Manager - Configure frontend/backend .htaccess files - Check memcache configuration - Publish obGrapper pipes - Clear cache
  • 168. 6) Check result (+/- 2 minutes) Check migration result on www.exact.nl/25/
  • 169. 7) Move Joomla 1.5 site (+/- 0,5 minute) Move www.exact.nl to www.exact.nl/15/
  • 170. 8) Move Joomla 2.5 site (+/- 0,5 minute) Move www.exact.nl/25/ to www.exact.nl/
  • 171. 9) Adjust configuration.php paths (+/- 0,5 minute) Adjust the /tmp/ and /log/ folder paths in www.exact.nl/configuration.php and www.exact.nl/15/configuration.php
  • 172. 10) Set exact.nl (Joomla 2.5) site on-line (+/- 0,5 minute)
  • 174. 1) Set exact.nl (Joomla 2.5) site off-line (+/- 0,5 minute)
  • 175. 2) Move Joomla 2.5 site (+/- 0,5 minute) Move www.exact.nl to www.exact.nl/25/
  • 176. 3) Move Joomla 1.5 site (+/- 0,5 minute) Move www.exact.nl/15/ to www.exact.nl/
  • 177. 4) Adjust configuration.php paths (+/- 0,5 minute) Adjust the /tmp/ and /log/ folder paths in www.exact.nl/configuration.php and www.exact.nl/25/configuration.php
  • 178. 5) Set exact.nl (Joomla 1.5) site on-line (+/- 0,5 minute)
  • 179. Case Results: Complex Migration Request ! freeze & downtime: 6 minutes
  • 180. Case Results: Complex Migration Request ! freeze & downtime: 6 minutes preparation time: 2-3 weeks
  • 181. Resources Article: “Complex Joomla! 1.5 Migration With Minimal Downtime” http://magazine.joomla.org/issues/issue-mar-2014/item/1794-complex-joomla-15-migration-with-minimal-downtime ! Custom Migration Script Example https://gist.github.com/sanderpotjer/9311435 ! Presentation slides http://sanderpotjer.nl