• Det senaste från oss och lite "know-how"

AWAVES BLOGG

Det senaste från oss och lite "know-how" om webben.

Skapat 2017-02-16 | Teknik & CMS

Multiwebb plattform i Drupal

För ett tag sedan lanserade vi en multiwebb plattform vi utvecklat i Drupal där ett 20-tal sajter (just nu) använder samma kodbas, tanken med plattformen är att alla verksamheter i koncernen skall få tillgång till en modern responsiv sajt som följer den grafiska profilen.

Vi tänkte dela med oss lite kring våra erfarenheter när man utvecklar just den här typen av lösning.
I Drupal har multi-site stöd funnits länge men den inbyggda multi-site lösningen kan skapa en del problem när systemet skall uppdateras, särskilt om tex databas-tabeller delas mellan sajterna i installationen, det kan också kännas onödigt komplext att ha många sajter i samma installation. 

Med den här lösningen där varje sajt använder en egen databas men alla använder samma kodbas gör att sajterna i praktiken inte vet om varandra utan agerar på egen hand.

Lite tips om multiwebb i Drupal

- Tänk igenom ny funktionalitet noga, all funktionalitet som utvecklas i plattformen skall kunna användas av så många som möjligt, funktioner på sajten måste gå att anpassa på ett enkelt sätt för att fungera för så många som möjligt. Ta ett nyhetsflöde som exempel, en del vill populära flödet från en extern tjänst andra vill skapa nyheterna direkt i sajten.

- Ge redaktörerna frihet att ändra så mycket som möjligt, låser man ner för mycket riskerar man att sitta med mängder av sajter som ser precis likadana ut.

- Delat innehåll; även om det från början inte är något innehåll som skall delas mellan sajterna brukar det för eller senare komma som ett önskemål, ha en plan redan från början hur det skall lösas om det blir aktuellt.

- Upprätta nya instanser; Lägg tid på att automatisera processen att sätta upp nya instanser så långt det går, det minimerar fel och spar tid i längden.
  
- Deploy; även om all funktionalitet delas av alla sajterna i plattformen, uppstår alltid lokala variationer; någon ändrar en panel, någon tar bort en meny osv, det här måste man ha i åtanke när ny funktionalitet skall deployas.

Det finns många delar att ta hänsyn till och det här är bara ett axplock.