
Gritera ir Norvēģijas konsultāciju uzņēmums, kas publiskajiem un privātajiem klientiem palīdz ar kvalitāti, riskiem, drošību un sistēmu izstrādi. Mēs izveidojām uzņēmuma vietni: divvalodu WordPress platformu pakalpojumiem, konsultantiem, kursiem un jaunumiem. Grūtākais nebija pašas lapas, bet divas sadaļas, kas aizpildās pašas: konsultantu saraksts un kursu katalogs. Katru no tām sinhronizē ar ārēju biznesa sistēmu, kurai pieder dati, un sinhronizācija nekad nepārraksta to, ko Gritera redaktori ievadījuši ar roku.
Ārējie dati sinhronizējas, redaktoru labojumi paliek
Abas integrācijas balstās uz vienu principu. Dažiem laukiem noteicošā ir ārējā sistēma, pārējiem redaktors. Sinhronizācija maina tikai savus laukus, pārējo neaiztiek un nekad neko neizdzēš: tā vietā ieraksts kļūst par melnrakstu un saņem atzīmi. Tā vietne paliek aktuāla pati, un neviens nezaudē savu darbu fona procesa dēļ. Abi spraudņi ir tipizēti (declare(strict_types=1)), ar nosaukumvietām un dokumentāciju, ar WP-CLI komandām un saviem administrācijas ekrāniem.
Konsultantu profili atjaunojas paši

Darbinieku dati glabājas Flowcase (CVPartner), konsultāciju uzņēmumu CV sistēmā. Mūsu sinhronizācija ievelk vietnē katru konsultantu abās valodās: vārdu, amatu, aprakstu, tālruni un e-pastu, un ar to apstājas. Foto, pilsētas un kategorijas paliek redaktoru ziņā, jo tās izvēlas cilvēks, nevis CV rīks. Jauni darbinieki parādās kā melnraksti pārskatīšanai. Ja kāds no Flowcase pazūd, viņa profils kļūst par melnrakstu ar atzīmi, nevis nemanāmi pazūd no vietnes. Vārdu salīdzināšana un WPML apstrāde ir atsevišķos slāņos, tāpēc vārda maiņa vai otrā valoda nekad nerada dublikātu.
Kursu katalogs, kas savienots ar pieteikšanās sistēmu

Mācību katalogs darbojas tāpat. Kursi nāk no Pindena, pieteikšanās platformas, ko Gritera jau lieto, tāpēc vietne nekad nekļūst par otru vietu, kur kursu jāievada ar roku. Automātisko sinhronizāciju ieslēdz pēc izvēles, redaktoru saturu tā nekad nepārraksta, un spraudnim ir iebūvēti API pārbaudes un atkļūdošanas rīki gadījumiem, kad jāpaskatās uz avota datiem. Apmeklētāji rezultātā meklē un filtrē, bet darbinieki turpina strādāt Pindena sistēmā.
Izstrādāta kā programmatūra, nevis veidne
Vietne veidota ar Bedrock: tas ir Composer pārvaldīts WordPress ar atsevišķu konfigurāciju katrai videi, un paroles un atslēgas glabājas ārpus repozitorija. Vietne izmanto pielāgotu bāzes tēmu ar ACF elastīgā satura lapu veidotāju, tāpēc redaktori saliek lapas no atkārtoti izmantojamiem blokiem. WPML aptver visu sistēmu, LiteSpeed un Redis atbild par kešatmiņu, un kodu uz cPanel serveri izvieto GitHub Action, turklāt produkcijā nonāk tikai main zars. Drošai testēšanai RunCloud serverī ir atsevišķa staging vide ar vietnes kopiju. Uz to pārcēlām aptuveni 1 GB lielo augšupielāžu bibliotēku un produkcijas datubāzes kopiju, kurā aizstājām adreses.
Tehnoloģijas: WordPress (Bedrock, pārvaldīts ar Composer), pielāgota Sage stila tēma, ACF Pro + ACF Extended, WPML, PHP, LiteSpeed Cache, Redis. Divi pašu veidoti sinhronizācijas spraudņi (Flowcase / CVPartner un Pindena). CI/CD ar GitHub Actions uz cPanel un RunCloud staging vide.