Vlaamse Infolijn - Drupal Community
-
Upload
vlaamseinfolijn -
Category
Design
-
view
270 -
download
0
Transcript of Vlaamse Infolijn - Drupal Community
Migratie naar Drupal van de Vlaamse
Infolijn
Jeroen Byl, Lien Thoelen, Jan [email protected] , [email protected],
Waarom migreren?
Drupal Community Vlaamse overheid 3
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
Hoe hebben we de keuze gemaakt?
Drupal Community Vlaamse overheid 5
Photo by aolin - Flickr
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
De keuze: Drupal
Drupal Community Vlaamse overheid 7
Photo by Marcus Exner - Flickr
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
Architectuur
Drupal Community Vlaamse overheid 9
© A. Lipson 2003
Architectuur
Drupal Community Vlaamse Overheid 10
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
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
Drupal 7
Drupal Community Vlaamse overheid 13
Analytics (Cognos)
CRM (Siebel)
EBL (Drupal 6)
Feeds
Productencatalogus
Externe services
Chat
PIAVO
Architectuur
Keuze Drupal core en modules
Drupal Community Vlaamse overheid 14
Grant Neufeld - flickr
Custom-build modules
waarborgen de vereiste
functionaliteit
Community contributed
modules verrijken Drupal
core
Core modules Drupal 7.14
Drupal Core Framework
Drupal Core Modules
Drupal Community Modules
Custom-build Modules
7/09/2012ICT-diensten voor een slagkrachtige overheid Voor intern gebruik
Drupal Community Vlaamse overheid 16
Custom-build modules
waarborgen de vereiste
functionaliteit
Community contributed
modules verrijken Drupal
core
Core modules Drupal 7.14
Drupal Core Framework
Drupal Core Modules
Drupal Community Modules
Custom-build Modules
Drupal Community Vlaamse overheid 17
Custom-build modules
waarborgen de vereiste
functionaliteit
Community contributed
modules verrijken Drupal
core
Core modules Drupal 7.14
Drupal Core Framework
Drupal Core Modules
Drupal Community Modules
Custom-build Modules
Drupal Community Vlaamse overheid 18
Community contributed
modules verrijken Drupal
core
Core modules Drupal 7.14
Drupal Core Framework
Drupal Core Modules
Drupal Community Modules
Migratie
Drupal Community Vlaamse overheid 19
theclyde - flickr
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
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
Drupal Community Vlaamse overheid 22
Fatwire
Export
XML per
Asset
Dump alle
bestanden
XML
Parser
Per contenttype
- index.xml
- 1 xml per asset
Per taxonomy
- index.xml
- 1 xml per term
Fysieke bestanden
- Filefolder
Encoding
- UTF-8
Error
Rapport
Mapping
Manipulaties
Business Logica
DRUPAL
Site
3
Backup / Restore
Migrate Rollback
Kopiëren van files
naar locale folders
Mapping
Prepare
2
Validatie en
Manuele
Correcties
Opkuis html via
htmLawed
-Cleanen
-Transformeren
-Internal Links (?)
4 STAPPEN PLAN
MySQL
Mapping
Tabellen
Error
Rapport
4
SimpleXML
(PHP Module)
DRUPAL MIGRATE
FRAMEWORK
Stubs controle
...
1
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
Lessons learned
Drupal Community Vlaamse overheid 24
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
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