MULTISITE, WHY? HÉT E-COMMERCE BUREAU 088 648 04 01
MEDE-OPRICHTER EN ACCOUNT TOMAS HESSELING Als Accountmanager ben ik het aanspreekpunt voor onze opdrachtgevers. Op basis van het eerste contact en een op maat gemaakt investeringsvoorstel, gaan we een samenwerking met elkaar aan en onderhoud ik de relatie. Vrienden en familie zien, wielrennen, maar ook nieuwe restaurantjes uitproberen (in het mooie Utrecht), doe ik graag naast m n werk. 06 1900 9932 tomas.hesseling@shopworks.nl
24 DIGITALE SPECIALISTEN
3 3 SERVICE CONTENT 2 UX & DESIGN 3 AM & PM 14 DEVELOPMENT
BEWEZEN EN GEPREZEN TECHNIEKEN Magento 2
GEVESTIGD IN UTRECHT
ONLINE VOLWASSENHEID SUCCES Balans in deze vijf stappen leidt tot groei ACTIVATIE BUSINESS CASE TECHNISCH LANDSCHAP SECURITY ATTITUDE
VANDAAG DRUPALJAM! - Tomas, allemaal leuk en aardig, maar jullie zijn toch een e-commerce bureau? - Wie zijn jullie eigenlijk? - Kader multidomain / multisite
KADER MULTIDOMAIN / MULTSITE Eén codebase (Drupal core + modules) naar meerdere servers met elk eigen database (Niet te verwarren met multi-domain waarbij je alle sites in één installatie hebt staan en dus naast de code ook de database deelt)
KADER MULTIDOMAIN / MULTSITE
D8 MULTISITE 16 SITES IN 2 MAANDEN - Waarom? - Uitdagingen Theorie - > Praktijk
D8 WAAROM MULTISITE? ARCHITECTUUR - Advies en klantwens - Snelheid deploys - Multisite -> event sites met piekbelasting - Basisplatform met stacks -> gedeelde investering - Site specifieke wensen mogelijk - Onderhoudbaarheid (1 codebase -> EMS, CRM, Eventregistratie koppeling) - Generieke branding i.c.m. child theme
D8 WAAROM GEEN MULTIDOMAIN? ARCHITECTUUR - Multi-domain voor D8 in alpha release. (https://www.drupal.org/project/domain) - Onze ervaring met multi-domain in D7 was dat beheer van content vrij complex kan worden. - Verkeer komt per site in pieken en mag elkaar niet beïnvloeden. - Mogelijkheid om een site in zijn geheel los te trekken of uit te zetten. - Scheiden van content en gebruikers
D8 MULTISITE EERSTE METERS - Begonnen met het opzetten van één master site. We hebben wel gelijk alle settings die bij de andere sites konden verschillen in configuratie gezet. - Na livegang master start uitrollen van de andere sites: - Kopie van opgeschoonde database van master site (pagina s, menu s, formulieren, blokken zijn allemaal overgenomen, alleen zaken als presentatie, sprekers, sponsoren niet). - Subtheme opzetten, gebaseerd op de theme van de master site. - Losse settings files buiten de webroot die in settings.php wordt ingelezen. - Deploy naar een afgeschermde pre-productieomgeving neer. - Klant content aanpassen en vullen op een pre-productieomgeving. - Configuratie rechttrekken en DNS omzetten.
D8 MULTISITE BUMPS ON THE ROAD - Afwijkingen per site We willen een kopie, maar toch ook dit, en dit is anders, en oh ja dat ook.. - Configuratiemanagement - Site specifieke settings koppelingen (keys, api users etc) - Webforms D8 - Blockbuilder - Config Split Module (thnx Drupaljam 2017!)
D8 MULTISITE CONFIGURATIEMANAGEMENT - Configuratie is 95% gelijk aan elkaar (content, taxonomieën, custom blocks) - Afwijking in dit project op webforms, blocks en menu s en configuratieforms voor site specifieke settings. 1. Webforms aanmeldformulieren gekoppeld aan Summit of N200 en Copernica afwijkingen zoals bepaalde opt-ins en berekeningen in forms 2. Blocks Block Builder, onze klanten kunnen zelf een pagina helemaal naar wens kan inrichten. Content blokken / stacks / kolomindeling
D8 MULTISITE CONFIGURATIEMANAGEMENT - Configuratie is 95% gelijk aan elkaar (content, taxonomieën, custom blocks) - Afwijking in dit project op webforms, blocks en menu s en configuratieforms voor site specifieke settings. 1. Webforms aanmeldformulieren gekoppeld aan Summit of N200 en Copernica afwijkingen zoals bepaalde opt-ins en berekeningen in forms 2. Blocks Block Builder, onze klanten kunnen zelf een pagina helemaal naar wens kan inrichten. Content blokken / stacks / kolomindeling
D8 MULTISITE CONFIGURATIEMANAGEMENT - Configuratie is 95% gelijk aan elkaar (content, taxonomieën, custom blocks) - Afwijking in dit project op webforms, blocks en menu s en configuratieforms voor site specifieke settings. 3. Config Split Module (https://www.drupal.org/project/config_split) Inspiratie Drupal Jam 2017 (thnx!) Module bedoelt voor OTAP, wij gebruiken hem voor config split op live sites
D8 MULTISITE AFWIJKINGEN PER SITE Een van nadelen van multi-site is dat het eigenlijk alleen goed werkt als elke site functioneel precies hetzelfde werkt. Toch kwam de klant al snel met specifieke wensen per site, bijv: - Bepaalde filters bij overzicht pagina's die aan of uit moesten - Afwijkende berekeningen en bedragen - LinkedIn functionaliteit, chatbot, etc. - Extra velden bij bepaalde content typen Keuze om functionaliteiten via settings aan/uit te zetten. In de backend een config form waarmee je bijvoorbeeld kan opgeven welke filters er bij het programma zichtbaar moeten zijn, etc.
D8 MULTISITE MEERTALIGHEID We hebben de master site opgezet op basis van Nederlands en Engels waarbij elk volgende site ook in het Engels en Nederlands uitgerold zou worden. Totdat de wens ontstond om één site in het Nederlands en Duits, maar niet Engels op te zetten én een aantal sites alleen in het Nederlands. Hoewel deze vraag niet heel ingewikkeld leek, bleek het erg in combinatie met het configuratiemanagement erg lastig om voor één site een taal toe te voegen of te verwijderen. Uiteindelijk opgelost door Nederlands, Engels én Duits voor alle sites aan te zetten. Vervolgens kun je per site beslissen om er wel of niet gebruik van te maken. Dit vereiste nog wel een paar kleine tweaks bij bijvoorbeeld de taalswitch.
D8 MULTISITE DEPLOYMENTS Hoe gaan we om met door de klant aangebrachte configuratie settings en zorgen we ervoor dat bij deploys deze niet overschreven worden? Site crawler script en drush cex uitvoeren (configuratie export), vervolgens via rsync de configuratie lokaal halen waarna je het naar Git kan pushen en kan deployen. DeployHQ voor deployments met deployment groepen. We kunnen dus bijvoorbeeld in één keer alle e-commerce sites updaten bij DSU Na deployment automatisch SSH commands die nieuwe configuratie aanpassingen importeert.
D8 MULTISITE NEXT STEPS & CONCLUSIE Verbeteringen Momenteel hebben we de core + contrib modules nog in Git staan, dit gaan we via Composer regelen, zodat de deployments een stuk sneller gaan. Een aantal verbeteringen voor specifieke domeinen, o.a. voor berekeningen. Hiervoor is al een structurele oplossing bedacht, maar de implementatie hiervan heeft een hoge impact omdat ook veel bestaande webforms aangepast moeten worden. Conclusie Multi-site in Drupal 8 is heel goed te doen! Vereist wel dat alle wensen vooraf bekend zijn, met name voor site specifieke oplossingen zodat daar een generieke oplossing voor bedacht kan worden. Configuratiemanagement + inrichten OTAP vereist het nodige werk: houdt daar rekening mee!
D8 MULTISITE TIJD VOOR EEN BIERTJE! - We zoeken nog nieuwe collega s, wie niet? We maken wel gave applicaties - Jouw ervaring op D8 en multisite? Drink een biertje met ons team vandaag aanwezig
JOIN US!