Crille Schema Viewer
Crille Schema Viewer är ett WordPress‑plugin som hämtar och visar kommande schemahändelser från Högskolan Västs KronoX‑system. Pluginet hämtar schemat server-side via ICS‑formatet och exponerar det genom ett eget REST‑API i WordPress. Datan renderas sedan i frontend genom ett Gutenberg‑block.
Pluginet innehåller även en inställningssida som gör det möjligt att välja vilken signatur (resurskod) som schemat ska hämtas för samt hur många kommande schemaposter som ska visas.
Funktioner
- Hämtar schema från Högskolan Västs KronoX‑system via server‑side ICS.
- Visar kommande schemaposter via ett Gutenberg‑block.
- Ingen CORS‑problematik eftersom all hämtning sker i PHP.
- Datum konverteras korrekt från UTC till svensk tid (CET/CEST).
- Svensk datumformatering (exempel: "2 april 2026").
- Automatisk datatvättning av ICS‑innehåll.
- Inställningssida i WordPress:
- Välj signatur/resurskod (exempel: s.COH).
- Välj antal schemaposter som ska visas.
- Frontend‑rendering via JavaScript.
- Gutenberg‑block: "HV Schema".
Installation
- Ladda upp plugin‑mappen till:
wp-content/plugins/crille-schema-plugin
- Alternativt: Installera plugin‑ZIP via WordPress:
WordPress Admin → Plugins → Lägg till nytt → Ladda upp plugin
- Aktivera pluginet.
Inställningar
Efter aktivering får du en ny sida i WordPress:
WordPress Admin → Inställningar → HV Schema
Här kan du ange:
Signatur / Resurskod
Den kod som används i KronoX för att hämta schema för en specifik person, exempelvis:
s.COH
s.SRM
s.CHRH
Detta styr vilket schema som visas.
Antal poster
Anger hur många kommande schemaposter som ska visas. Exempel:
7 (standard)
10
3
Pluginet hämtar mer data från ICS, men visar endast det antal du valt.
Användning i Gutenberg
- Öppna en sida eller skapa en ny.
- Klicka på knappen för att lägga till block.
- Sök efter:
HV Schema
- Placera blocket där schemat ska visas.
- Publicera eller uppdatera sidan.
Vid frontend‑visning hämtas schemat automatiskt och visas utan ytterligare inställningar.
Teknik och arkitektur
- Schema hämtas via
wp_remote_get()direkt från KronoX (server-side). - Pluginet exponerar ett REST‑endpoint:
/wp-json/hv/v1/schema
- Frontend hämtar datan via
wp.apiFetch(). - ICS‑data parsas i JavaScript.
- Datum omvandlas från UTC till Europe/Stockholm.
- Gutenberg‑block renderas via
render_callback. - Styling sker via
css/style.css.
Filstruktur
crille-schema-plugin/
│
├── hv-schema.php (huvudfil: block, REST, settings, proxyhämtning)
├── block.json (Gutenberg block-definition)
│
├── css/
│ └── style.css (frontend-styling)
│
└── src/
├── block.js (Gutenberg editor-vy)
└── frontend.js (hämtar och renderar schema i frontend)
Version
1.1 – Lagt till inställningssida för signatur och antal visade poster.
Author
Christian Ohlsson
Högskolan Väst