Woop Art
Digitális művészeti tér, amely igényesen mutatja be a műveket, és könnyedén vezeti végig a látogatókat a galérián.


Webalkalmazásainkhoz központi hozzájárulás-motort fejlesztettünk, amely a hozzájárulásokat, a hozzájáruláshoz kötött szolgáltatásokat és a bejelentett tárolási értékeket kezeli.
Három elkülönített réteg: középen a motor felel a működésért, alatta az adatforrás cserélhető, felette a felület az adott projekthez tartozik.
központi hozzájárulás-motor
hozzájárulási kategória a referenciaprojektben
bejelentett szolgáltatás
kezelt cookie
teljesen integrált nyelv
külső CMP-szkript a betöltési útvonalon
A számok a woop-art.de referenciaprojekt hozzájárulási definícióját írják le. Nagyságrendet jelölnek, nem korlátot: a kategóriák, szolgáltatások és cookie-k adatként szerepelnek, a motor nem szab rájuk felső határt. Az utolsó szám a legfontosabb – magához a hozzájárulási rendszerhez egyetlen idegen szkript sem töltődik be.
A webalkalmazások gyakran építenek be külső szolgáltatásokat: analitikát, térképet, videót vagy időpontfoglalást. Ezzel további adatáramlások keletkeznek, és felmerül a kérdés, milyen feltételek mellett tölthetők be ezek a szolgáltatások.
Sok hozzájárulási megoldást utólag, önálló rendszerként illesztenek egy weboldalhoz. Ezzel további függőségek keletkeznek: a konfiguráció és a felület az alkalmazáson kívülre kerül, külső szkriptek épülnek be a technikai betöltési útvonalba, az egyes integrációk feletti kontroll pedig több rendszer között oszlik meg.
A saját projektjeinkben ezért a hozzájárulást közvetlenül az alkalmazás architektúrájába akartuk illeszteni.
A megoldásnak
Ebből jött létre az önálló hozzájárulás-motor, amelyet ma közös technikai modulként használunk.
A hozzájárulási rendszer tudatosan elválasztja a központi működési logikát a projektspecifikus adatoktól és a látható felülettől.
Így ugyanaz a technikai alap eltérő felépítésű alkalmazásokban is használható anélkül, hogy a hozzájárulási állapotot, a verziózást vagy a szkriptszűrést minden projektben újra kellene implementálni.
Ugyanaz a motor használható például egy művészeti platformon és egy vállalati weboldalon is, noha a két felület eltérően van kialakítva.
A központi motor felel mindazért, ami projekteken átívelően azonos marad:
Ezt a logikát központilag tartjuk karban, és közös modulként bocsátjuk rendelkezésre.
A motor minden projektspecifikus információt egy meghatározott interfészen keresztül kap meg. Ide tartozik többek között:
A motor szempontjából nem meghatározó, honnan származnak ezek az információk. Lehetnek közvetlenül a projektben, vagy származhatnak más adatforrásból is.
A sáv és a beállítási ablak az adott projekthez tartozik. A megjelenítés a szükséges adatokat és a rögzített műveleteket a központi motortól kapja.
A vizuális megjelenés így teljesen megváltozhat anélkül, hogy a mögöttes hozzájárulási logikát módosítani kellene.
Központi elvárás volt, hogy a hozzájáruláshoz kötött szolgáltatások a hozzájárulás előtt ne csupán kikapcsolt állapotban legyenek. Egyáltalán ne töltődjenek be.
Ehhez több mechanizmus kapcsolódik össze.
Annak érdekében, hogy a bejelentett tárolási értékek és a tényleges implementáció ne egymástól függetlenül alakuljon, a motor központi nyilvántartást használ. A hozzájárulási infrastruktúrán keresztül kezelt minden tárolási értékhez technikai tulajdonságokat rögzítünk.
Ide tartozik például
A nyelvfüggő adatokat – például a célt és a leírást – ettől elkülönítve tartjuk karban.
Ha az alkalmazáskód a hozzájárulási infrastruktúrán keresztül nem regisztrált értéket próbál írni, a művelet elutasításra kerül. A nyilvántartás így nemcsak dokumentáció, hanem a technikai kontroll része is.
Minden hozzájárulási konfigurációnak van verziója.
Tárolásra kerül többek között
Egy újabb látogatáskor a motor összeveti a tárolt verziót az éppen használt állapottal. Ha a konfiguráció ennek megfelelően megváltozott, a meglévő választás elvethető, és új döntés kérhető.
Egy újonnan hozzáadott szolgáltatás így új hozzájárulási verzióval kezelhető anélkül, hogy minden weboldalhoz külön migrációs logikát kellene fejleszteni.
A hozzájárulás a beállításokon keresztül bármikor módosítható. Ha egy korábban elfogadott kategóriát visszavonnak, nemcsak a tárolt hozzájárulási állapot változik meg.
A motor
Az újraépítés azért lényeges, mert a már lefutott harmadik féltől származó szkriptek nem vonhatók vissza megbízhatóan pusztán a szkriptelem eltávolításával.
A visszavonás után az állapotnak ezért olyannak kell lennie, mint egy olyan látogató esetében, aki az adott kategóriát soha nem engedélyezte.
A Google Consent Mode v2 az első oldalbetöltéskor a megfelelő elutasított tárolási állapotokkal inicializálódik. Ha érvényes döntés áll rendelkezésre, vagy megszületik a hozzájárulás, ez az állapot célzottan frissíthető.
A motor csak azokat az integrációkat bocsátja rendelkezésre, amelyek hozzájárulási kategóriáját ténylegesen elfogadták. A referenciaprojektben ez például azt jelenti: analitikai hozzájárulás nélkül nem épül be Google Analytics szkript.
A döntés így nem az egyes komponensek között oszlik meg, hanem központilag, a hozzájárulási állapoton keresztül dől el.
A hozzájárulás-motor és a konfiguráció között meghatározott interfész áll. A motornak bizonyos információkra szüksége van, de nincs ahhoz kötve, hol tárolják ezeket.
Így különböző modellek lehetségesek.
A cookie-nevek, azonosítók, kategóriabesorolások és tárolási idők nyelvsemlegesek. Minden, amit a látogatók olvasnak, ezzel szemben nyelvenként gondozható.
Ide tartozik például
Egy tárolási értéket így technikailag egyszer definiálunk, majd minden szükséges nyelven leírunk.
A Woop Art referenciaprojektben a német és az angol nyelv teljes körűen gondozott. A Woop Technology weboldala ugyanezt a motort használja további nyelvekkel.
A motor újrafelhasználható alapértelmezett felületet biztosít, de nem írja elő a használatát.
Egy projekt
A hozzájárulási logika eközben változatlan marad.
A megjelenítés így az adott projekt designrendszeréhez igazítható anélkül, hogy olyan központi funkciókat kellene újraírni, mint a verziózás, a nyilvántartás vagy a visszavonás.
A verziózott fájlok közvetlenül a forráskóddal együtt szállíthatók. Nem igényelnek további hálózati hívást, és ugyanazon a build- és deployment-folyamaton mennek végig, mint az alkalmazás.
Egy API ugyanezeket a hozzájárulási információkat központilag, több alkalmazás számára is biztosíthatja. Így közös konfigurációk vagy központi adminisztrációs folyamatok építhetők fel.
A szerkesztői tartalmak tartalomkezelő rendszerben gondozhatók, miközben a technikai definíció ettől függetlenül marad.
A technikai konfigurációnak és a szerkesztői tartalomnak tehát nem feltétlenül kell ugyanabból a forrásból származnia.


A böngészőben tárolt hozzájárulási állapot mellett minden kifejezetten elmentett döntés szerveroldalon is naplózható.
A jelenlegi rendszerben többek között rögzítjük
Az IPv4-címeket a második blokk után, az IPv6-címeket a harmadik szegmens után rövidítjük.
Az erre szolgáló végpont csak azonos eredetű kéréseket fogad el, és rögzített útvonalon található, hogy infrastruktúra szinten is célzottan korlátozható legyen.
Ezt a funkciót tudatosan a hozzájárulási döntések szerveroldali naplózásaként nevezzük meg, és nem revízióbiztos archiválásként. A technikai naplózás támogatja egy döntés nyomon követhetőségét; ezen túlmenő jogi garanciát nem jelent.
A látogató döntése először az alkalmazás hozzájárulási állapotában lép érvénybe. Ha a kiegészítő szerveroldali mentés meghiúsul, a weboldal továbbra is használható marad.
A hiba szerveroldalon kerül naplózásra ahelyett, hogy technikai részletek jelennének meg a böngészőben. A hozzájárulási rendszer működőképessége így nem függ attól, hogy a kiegészítő naplózás minden pillanatban elérhető-e.
A hozzájárulási konfiguráció és a központi motor a saját alkalmazás része. Magához a hozzájárulási rendszerhez ezért nincs szükség külső CMP-szolgáltatóra.
Ez azt jelenti
A hozzájáruláshoz kötött szolgáltatások ettől elkülönülnek, és csak akkor töltődnek be, ha a szükséges hozzájárulás rendelkezésre áll.
A hozzájárulás-motor önálló csomagként létezik, és a Woop Technology privát csomagkezelésén keresztül érhető el. A verziók és a változások így ugyanolyan nyomon követhetően kezelhetők, mint bármely más technikai függőség.
Egy új projekt lényegében négy projektspecifikus területet egészít ki.
A hozzájárulási állapot, a verziózás, a nyilvántartás, a szkriptszűrés és a visszavonási logika ezzel szemben a közös modulból származik.
A központi motor egy fejlesztése így verziózott frissítéssel több projektbe is átvehető.
Az adott projekt kategóriái, szolgáltatásai, tárolási értékei és szövegei.
A hozzájárulási döntések szerveroldali tárolásának kívánt formája.
Például analitika vagy más, hozzájáruláshoz kötött külső szolgáltatás.
Az alapértelmezett felület vagy saját sáv- és beállításkomponensek.
Saját hozzájárulási architektúra nem minden projekthez szükséges. Kevés külső szolgáltatást használó egyszerű weboldalnál egy bevált hozzájárulási platform lehet a gyorsabb és gazdaságosabb megoldás.
A közös saját modul főként akkor válik érdekessé, ha több igény találkozik
Ezekben az esetekben a közös motor csökkenti a projektspecifikus implementációkat, és lehetővé teszi, hogy a központi funkciókat egy helyen fejlesszük tovább.
A központi hozzájárulási állapot az alkalmazáskód számára is elérhető.
Egy komponens így például ellenőrizheti
Ezáltal kétkattintásos megoldások is megvalósíthatók. A még nem engedélyezett harmadik fél helyett először egy helyi komponens jelenhet meg, amely tájékoztat a külső szolgáltatásról, és azt csak a megfelelő döntés után tölti be.
A hozzájárulás így nem korlátozódik a sávra és a beállítási ablakra, hanem közvetlenül beépíthető az alkalmazás folyamatába.
Egy külső hozzájárulási platform további szolgáltatót, saját szkripteket, saját konfigurációt és rendszerint egy újabb technikai függőséget hoz magával. A saját motor ezzel szemben a meglévő alkalmazásokkal együtt, a tervezett infrastruktúrán belül üzemel.
Ez nem jelenti azt, hogy a külső hozzájárulási platformok alapvetően alkalmatlanok lennének. A döntés az adott projekt terjedelmétől és követelményeitől függ.
Magához a hozzájárulások kezeléséhez nincs szükség további CMP-szolgáltatóra. A vonatkozó hozzájárulási adatok így ott dolgozhatók fel, ahol az alkalmazás is üzemel.
Azt, hogy egy konkrét projekt milyen további külső szolgáltatásokat használ, és eközben milyen adatok kerülnek továbbításra, ettől függetlenül, projektenként határozzuk meg és dokumentáljuk.
A hozzájárulás-motort ma különböző webalkalmazások újrafelhasználható részeként használjuk. A központi funkciókat egyszer gondozzuk, miközben az adatok, az integrációk, a nyelvek és a felület projektspecifikusak maradnak.
Az állapot, a verziózás, a nyilvántartás, a szkriptszűrés és a visszavonás közösen kezelt.
A vonatkozó integrációk csak a szükséges hozzájárulás után töltődnek be.
A tárolt hozzájárulások a hozzájárulási konfiguráció adott állapotához kötöttek.
Az adatforrások, a nyelvek és a felületek projektenként eltérően építhetők fel.
A kifejezett döntések verzióval és időponttal, nyomon követhetően tárolhatók.
A motor fejlesztései verziózott frissítésekkel több projektbe is átvehetők.
Digitális művészeti tér, amely igényesen mutatja be a műveket, és könnyedén vezeti végig a látogatókat a galérián.


Világosan strukturált platform ciklusfókuszú edzéshez, táplálkozási és életmód-tanácsadáshoz – ajánlat-összehasonlítással, időpontkéréssel és foglalással.


Az első egyeztetésen átbeszéljük az igényeit – a hozzájárulás-kezeléstől és az integrációktól az architektúráig és a későbbi üzemeltetésig.