2. Migratie naar Drupal van de Vlaamse
Infolijn
Jeroen Byl, Lien Thoelen, Jan Dobbelaere
Jeroen.byl@dar.vlaanderen.be , Lien.thoelen@dar.vlaanderen.be,
jan.dobbelaere@hp.com
4. Waarom migreren?
• Te weinig Fatwire-ontwikkelaars in België
• Kosten (licentie, ondersteuning) waren duur, niet in
verhouding met product
• Gedwongen om naar een hogere versie van Fatwire te
migreren
• Tijd aangebroken om Vlaanderen.be te vernieuwen
• Future-proof CMS nodig
Drupal Community Vlaamse overheid 4
5. Hoe hebben we de keuze gemaakt?
Photo by aolin - Flickr
Drupal Community Vlaamse overheid 5
6. Hoe hebben we de keuze gemaakt?
• Drie mogelijke systemen geselecteerd:
– Fatwire
– Tridion
– Drupal
• Verschillende factoren in beschouwing genomen:
– Marktaandeel
– Aantal ontwikkelaars beschikbaar (in België)
– Ondersteuningsmogelijkheden
– Migratiemogelijkheden
– Licentiekost
– Out of the box features
– …
Drupal Community Vlaamse overheid 6
7. De keuze: Drupal
Photo by Marcus Exner - Flickr
Drupal Community Vlaamse overheid 7
8. Waarom Drupal?
• Momentum binnen de Vlaamse Overheid:
opportuniteiten om expertise en infrastructuur te delen
(DaaS, Paas)
• Voldoende technische expertise in België
• Geen aankoop- of licentiekosten (TCO lager)
• Technisch zeer flexibel
Drupal Community Vlaamse overheid 8
11. Multisite
• Content delen door verschillende sites standaard niet
ondersteund in Drupal
• Scenario 1: Sync
– Drie servers (redactieomgeving, vlaanderen.be,
voorlichtersite)
– Alle inhoud wordt ingevoerd op de redactieomgeving,
automatische syncing met 2 aparte Drupalinstallaties
– Probleem: afhankelijkheden
• Scenario 2: Domain Access
– Eén server met verschillende domeinen
– Inhoud wordt afgeschermd per domein
– Probleem: incompatibliteit contributed modules?
Drupal Community Vlaamse overheid 11
12. Multisite
• Content delen door verschillende sites standaard niet
ondersteund in Drupal
• Scenario 1: Sync
– Drie servers (redactieomgeving, vlaanderen.be,
redactieomgeving)
– Alle inhoud wordt ingevoerd op de redactieomgeving,
automatische syncing met 2 aparte Drupalinstallaties
– Probleem: afhankelijkheden
• Scenario 2: Domain Access
– Eén server met verschillende domeinen
– Inhoud wordt afgeschermd per domein
– Probleem: incompatibliteit contributed modules?
Drupal Community Vlaamse overheid 12
14. Keuze Drupal core en modules
Grant Neufeld - flickr
Drupal Community Vlaamse overheid 14
15. Custom-build Modules Custom-build modules
Community contributed waarborgen de vereiste
modules verrijken Drupal Drupal Community Modules functionaliteit
core
Drupal Core Modules
Core modules Drupal 7.14
Drupal Core Framework
ICT-diensten voor een slagkrachtige overheid Voor intern gebruik 7/09/2012
16. Custom-build Modules Custom-build modules
Community contributed waarborgen de vereiste
modules verrijken Drupal Drupal Community Modules functionaliteit
core
Drupal Core Modules
Core modules Drupal 7.14
Drupal Core Framework
Drupal Community Vlaamse overheid 16
17. Custom-build Modules Custom-build modules
Community contributed waarborgen de vereiste
modules verrijken Drupal Drupal Community Modules functionaliteit
core
Drupal Core Modules
Core modules Drupal 7.14
Drupal Core Framework
Drupal Community Vlaamse overheid 17
18. Community contributed
modules verrijken Drupal Drupal Community Modules
core
Drupal Core Modules
Core modules Drupal 7.14
Drupal Core Framework
Drupal Community Vlaamse overheid 18
19. Migratie
theclyde - flickr
Drupal Community Vlaamse overheid 19
20. Migratie
• Migratie in vorige upgrades (Fatwire) problematisch
• Bij voorstellen door leveranciers CMS werd
automatische migratie niet aangeraden
• Toch automatische migratie
– Verschillende keren getest geweest
– Goede resultaten
– Na elke iteratie bijgestuurd
– Succesvolle migratie dankzij goede voorbereiding
– Oude URL’s behouden via redirect
Drupal Community Vlaamse overheid 20
21. Migratie
• Kengetallen
– History tot 01/01/2012 – Assets De Lijn 01/01/2011
– Assets :
• Solutions : +/- 10.000
• Publicaties : +6000
• Contactpersonen : +/-450
• Media (pdf, images, ...) : +/- 2000
• Referenties: +/- 200000
– Metadata
– Tijdslijn
• verlengd weekend voor export / import / controle
• 2 weken voor validatie, verrijking en nieuwe content
Drupal Community Vlaamse overheid 21
22. 4 STAPPEN PLAN
XML per XML Error
Asset Parser Rapport
Fatwire
Export SimpleXML
(PHP Module)
3
Per contenttype 1
- index.xml
- 1 xml per asset Dump alle Mapping
bestanden MySQL
Prepare
Per taxonomy Error Mapping
- index.xml
- 1 xml per term
Rapport Mapping
Tabellen
2 Manipulaties
Business Logica
Fysieke bestanden Kopiëren van files
DRUPAL MIGRATE Opkuis html via
- Filefolder naar locale folders
FRAMEWORK htmLawed
Encoding -Cleanen
- UTF-8 -Transformeren
-Internal Links (?)
Stubs controle Validatie en
... Manuele 4 DRUPAL Backup / Restore
Migrate Rollback
Correcties Site
Drupal Community Vlaamse overheid 22
23. Samen Vlaamse Overheid en HB
• Vlaamse Infolijn
– Design (in samenwerking met afdeling Communicatie)
– Aanleveren inhoud
– Testen
– Kwaliteitscontrole
• HB
– Back-end ontwikkeling
– Project management back end
– Testen opvolgen
– Front-end ontwikkeling voorlichtersite
– Infrastructuur
• Freelancers
– Globaal project management
– Front-end ontwikkeling Vlaanderen.be
Drupal Community Vlaamse overheid 23
25. Lessons learned
• Drupal release cyclus is onvoorspelbaar
– Verbetering in volgende versie?
• Regressie was grootste probleem tijdens ontwikkeling
– Uitgebreid testen, overzicht behouden, regelmatig afstemmen
tussen ontwikkelaars!
• Informatiearchitectuur goed definiëren
• Voldoende valideren van assumpties voor het starten
van ontwikkeling (sync/domain access)
• Enterprise readiness work in progress
Drupal Community Vlaamse overheid 25
26. Lessons learned
• Balans vinden tussen custom ontwikkeling en gebruik
van contributed modules
• Infrastructuur niet onderschatten
– Vereisten high availability en scalability
– Drupal veeleisend qua resources (voornamelijk database)
• Performance tuning is een integraal onderdeel
• Plan van aanpak deployment (dev test productie)
• Caching kan een probleem zijn bij veel referenties
naar andere nodes
– Work in progress …
Drupal Community Vlaamse overheid 26