Vlaamse Infolijn - Drupal Community

Post on 06-Jul-2015

270 views 0 download

Transcript of Vlaamse Infolijn - Drupal Community

Migratie naar Drupal van de Vlaamse

Infolijn

Jeroen Byl, Lien Thoelen, Jan DobbelaereJeroen.byl@dar.vlaanderen.be , Lien.thoelen@dar.vlaanderen.be,

jan.dobbelaere@hp.com

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