Unity Blog - Fjöltyngt blogg

Atvinnugrein
Afþreying
Lausn
Vefumsjónarkerfi
Tækni
Drupal, React, NextJS

Unity blog er vinsælt, gagnvirkt blogg sem heyrir undir Unity Technologies, framleiðendur Unity tölvuleikjahugbúnaðarins. Unity vildu samstilla alla veftengda tækni innan fyrirtækisins og var því kominn tími á að uppfæra bloggið. 1xINTERNET aðstoðaði Unity við að leggja grunninn að frekari vefþróun en markmið þeirra er að auka þjónustuframboð með tíð og tíma.

Hvað er Unity?

Unity Technologies er framleiðandi Unity tölvuleikjahugbúnaðarins og heldur einnig úti vinsælu, gagnvirku bloggkerfi - Unity blog. Bloggið inniheldur gríðarlegt magn efnis, yfir 4000 bloggfærslur og vefsíðan er heimsótt oft á dag. Kominn var tími á að uppfæra bæði útlitið og tæknina. Unity vildu endurbyggja bloggkerfið í Drupal til þess að tryggja að öll vandamál yrðu leyst og að það væri auðvelt að tækla aðrar hugsanlegar áskoranir seinna meir. Unity vildu einnig samstilla alla veftengda tækni innan fyrirtækisins og því var nauðsynlegt að uppfæra bloggið.

Hver var áskorunin?

1xINTERNET fékk það verkefni að innleiða hauslausa (e. headless) útgáfu af Unity blogginu þar sem bakendinn er byggður í Drupal en framendinn með React og Next.js. Áður var bloggið byggt í Wordpress þar sem skipulag gagna var ekki með besta móti. Þegar gagnaflutningur átti sér stað voru gögnin endurskipulögð sem einfaldaði birtingu efnis í hauslausu umhverfi.

Einnig var þörf á að auðvelda notendum að finna efni á síðunni, ýta undir þátttöku notenda og lengja viðverutíma þeirra á síðunni. Markmiðið var að byggja bloggkerfi með góða notendaupplifun með því að nota nýjustu tækni í ritsjóraupplifun fyrir teymið og þátttakendur bloggsins.

Hvernig gátum við hjálpað?

1xINTERNET vann hugmyndavinnu með Unity til þess að ákvarða hvernig markkerfið (e. target system) ætti að líta út og ákveðið var að nota hauslausan (e. decoupled) Drupal / Symfony bakenda með framenda sem væri byggður með React / Next.js. Gögn voru afhjúpuð með GraphQL til þess að geta seinna búið til dreifða GraphQL vefþjónustu (e. federated GraphQL API). Stílisering varð gerð með Tailwind CSS og íhlutir búnir til í Storybook.

Það var flókið verkefni að flytja svona stóra vefsíðu frá WordPress yfir í Drupal. Gögnin á síðunni voru óskipulögð í WordPress og þurfti að endurskipuleggja þau á mjög skýran hátt í Drupal. Fyrir áframhaldandi þróun bloggsins var skýr gagnastrúktur lykilatriði. Á gamla WordPress blogginu var takmarkaður tungumálastuðningur. Þetta var flutt yfir í hið öfluga, fjöltyngda Drupal kerfi sem býður upp á lausnir fyrir þýðingar yfir á mörg tungumál með mismunandi sjálfvirkum þýðingarþjónustum.

Unity bloggið er ein af mikilvægustu vefsíðum Unity. Þetta er vettvangur þar sem Unity samfélagið kemur saman, þarna er hægt að uppgötva nýja hluti, læra og vaxa. Það var nauðsynlegt að búa til vettvang með góðri notenda- og ritstjórnarupplifun en að þar væri einnig svigrúm til vaxtar. Unity valdi hauslausan Drupal í stað "venjulegs" því það var meira í takt við þeirra framtíðarplön. Hauslausa útfærslan er í eðli sínu "aftengd" sem þýðir að hún er sjálfstæðari og þar af leiðandi er auðvelt að "búa til einu sinni - birta alls staðar". Möguleikinn á því að endurnýta efni á milli kerfa gerir það að verkum að hægt er að auka umferðina þvert á allar vefsíður Unity.

Helstu eiginleikar verkefnisins

Flutningur frá Wordpress yfir í Drupal

Þetta var flókinn flutningur fjöltyngdrar vefsíðu með yfir 4000 bloggfærslur. Vefsíðan fær um 200.000 heimsóknir á mánuði. Gögn voru óskipulögð í WordPress en þau voru flutt yfir í mjög vel skipulagðan strúktúr í Drupal. Þegar gögnin eru betur skipulögð auðveldar það alla umsjón með efni og styður við frekari vöxt Unity seinna meir.

Meta tags, framsendingar, og miðlar 

Hefðbundin Drupal virkni var notuð til að búa til meta tags af mismunandi gerðum og birta efni með JSON-LD. Einnig er hægt að nota standard virkni fyrir framsendingar (e. redirects), miðla og fleira þegar Drupal er notað sem hauslaus bakendi.

Þægileg myndvinnsla með því að sameina Drupal og Next.js

Það þurfti að meðhöndla myndir á annan hátt en vanalega er gert með Drupal. Því bjó 1xINTERNET til íbót (e. plug-in) sem breytir stærð mynda og skilar þeim í réttri stærð til Next.js framendans. Myndirnar er svo hægt að stílsera á þann hátt sem hentar.

Ritstjórnarupplifun 

1xINTERNET bjó til háþróaða ritstjórnarupplifun með innbyggðri virkni Drupal. Þetta auðveldaði vinnuflæði fyrir stóran hóp ritstjóra. Unity teymið vinnur einnig með utanaðkomandi ritstjórum sem senda inn efni til birtingar. Áður en efni er birt á blogginu þurfa höfundar að fara yfir efnið á blogginu og samþykkja það. 1xINTERNET bjó til módúl sem veitir aðgang að óbirtum síðum með því að nota aðgangslykil (e. access tokens) og útvíkkað GraphQL (e. extended GraphQL) til að styðja við þessa virkni.

Unity aðgangur

Unity var þegar með innskráningarkerfi sem þýðir að allir sem taka þátt í Unity samfélaginu á einhvern hátt, í gegnum vefformin, bloggið eða athugasemdir fá sinn eigin Unity aðgang. Þegar þetta var samþætt við bloggið bauð það upp á óaðfinnanlega notendaupplifun með einskráningu (e. single sign-on) fyrir notendasamskipti þvert á öll vefsvæði Unity.

Unity Blog sett í lofið á DrupalCon 2021

Af hverju varð Drupal fyrir valinu?

Það var Unity mikilvægt að velja réttu tæknina sem gæti fleytt þeim í átt að markmiðum sínum. Unity hafði lengi notað Drupal. Í þessu tilfelli var Drupal auk þess besti kosturinn þar sem kerfið leyfir hraðar ítrekanir (e. iterations), það er auðvelt að framlengja, það býður upp á þær vefþjónustur sem Unity var að leita að og Drupal er frábær vettvangur til að vinna með og byggja ofan á.

Drupal logo

Fleiri verkefni

Vefumsjónarkerfi

Schwaketenbad - Endurgerð vefsíða með 1xDXP

Schwimmmerin zieht im Pool ihre Bahnen

Schwaketenbad er innisundlaugarsvæði í Konstanz, Suður-Þýskalandi. Árið 2015 brann þessi vinsæli vatnsleikvöllur til grunna og enduruppbygging...

Vefumsjónarkerfi Hýsingarlausn

AuPairWorld - Gagnaflutningur í Drupal

AuPairWorld Teaser Image

AuPairWorld er stærsti Au Pair vettvangur á netinu. Kominn var tími að uppfæra síðuna í Drupal 9 sem var nauðsynlegt skref í síbreytilegu stafrænu...