Arkitektur
Systemoversikt
Section titled “Systemoversikt”Tillegget opererer som del av en trelagsarkitektur:
RecMan (app.recman.no) | vBonsy API (recman-api.bonsy.no) ← beriker, oversetter, hurtigbufrer, validerer | vWordPress-tillegg (nettstedet ditt) ← hurtigbufrer lokalt, gjengir på frontend | vDine besøkende ← ser stillingeneTillegget kommuniserer aldri direkte med RecMan. All kommunikasjon går gjennom Bonsy API-mellomvaren.
Bonsy API (mellomvare)
Section titled “Bonsy API (mellomvare)”Bonsy API-et fungerer som et intelligent lag mellom RecMan og nettstedet ditt:
- Henter og normaliserer data fra RecMan API-et
- Renser HTML — saniterer stillingsbeskrivelser for korrekt gjengivelse
- Genererer utdrag — ~200 tegns forhåndsvisninger med setningsgrensedeteksjon
- Oversetter feltverdier — sektor, ansettelsestype, sted, osv.
- Oppretter permalenker — URL-vennlige slugger fra stillingstitler
- Formaterer søknads-URL-er — direktelenker til søknadsskjemaet
- Normaliserer sosiale lenker — sikrer HTTPS for Facebook, LinkedIn, Twitter, Instagram
- Beregner lignende stillinger — vektet matching på tvers av 14 felt
- Genererer søkeindekser — små bokstaver, komprimerte strenger for søk på klientsiden
- Validerer lisenser — sjekker API-nøkkeltillatelser og lisensutløp
- Håndterer sortering — etter innleggs-ID, oppdateringsdato eller startdato
- Administrerer utløpte stillinger — konfigurerbar bevaring av nylig utløpte annonser
API-hurtigbuffer
Section titled “API-hurtigbuffer”Bonsy API-et opprettholder en 5-minutters serverside hurtigbuffer per klient. Både behandlet og rå JSON hurtigbufres. Hurtigbufferen kan tømmes med ?flush=1.
WordPress-tillegg
Section titled “WordPress-tillegg”Tillegget håndterer klientsiden:
Smart lokal hurtigbuffer
Section titled “Smart lokal hurtigbuffer”Filbasert JSON-hurtigbuffer i wp-content/cache/bonsy-recman/ med tidsbevisste oppdateringsintervaller. Faller tilbake til hurtigbufret data hvis API-et er utilgjengelig.
Visningslag
Section titled “Visningslag”To tilnærminger for gjengivelse av stillinger:
- Kortkoder — legg til på hvilken som helst side, tilpassbar HTML/CSS fra admin
- Malfunksjoner — PHP API som følger WordPress-konvensjoner
SEO-modul
Section titled “SEO-modul”Genererer sidetitler, kanoniske URL-er, metabeskrivelser, Open Graph-tagger og Twitter Cards. Er klar over Yoast SEO og The SEO Framework.
URL-omskriving
Section titled “URL-omskriving”Oppretter rene URL-er for individuelle stillingssider og håndterer omdirigering av utløpte stillinger.
Administrasjonsgrensesnitt
Section titled “Administrasjonsgrensesnitt”Kontrollpanel med faner for administrasjon av innstillinger, visning av hurtigbuffer, redigering av maler og overvåking av stillinger.
Tilleggets kodestruktur
Section titled “Tilleggets kodestruktur”Tillegget følger en arkitektur med enkeltansvarlige klasser:
| Klasse | Ansvar |
|---|---|
Recman_Api_Client | API-kommunikasjon |
Recman_Cache_Manager | Lokal hurtigbuffer |
Recman_Job_Filter | Filtreringslogikk |
Recman_Job_Repository | Datatilgang |
Recman_Job_Iterator | Loop/iterasjon |
Recman_Seo | SEO-metadata |
Recman_Rewrite | URL-omskriving |
Recman_Post | Egendefinert innholdstype |
Sikkerhet
Section titled “Sikkerhet”- WordPress-nonces på alle admin-handlinger
- Tilgangskontroll på admin-sider
- Inputsanering og outputescaping gjennomgående
- RecMan API-nøkkel lagret på Bonsy-serveren, ikke i WordPress
- Tidssikker sammenligning for hurtigbuffertømmingsautentisering
- Hemmelig nøkkelautentisering for CPT cron-endepunkt
Tekniske krav
Section titled “Tekniske krav”| Komponent | Krav |
|---|---|
| WordPress | 6.4.1+ |
| PHP | 8.0+ |
| Avhengigheter | Ingen (null JS- eller PHP-avhengigheter) |