Hopp til innholdet

Aurora 1.0: install it into any Laravel site, with passkeys and two-factor sign-in.

What's new →

Arkitektur

Hvordan Aurora er bygget

En Laravel-pakke med et Filament-adminpanel, et blokksystem appen din bygger videre på, og ett sett verktøy som deles av redaktører, assistenten og MCP.

Det store bildet

Pakken og appen din

vendor/aurora/cms

Aurora (pakken)

Modeller, adminpanelet, mediebiblioteket, skjemaer, menyer, oversettelser, KI-assistenten og MCP-serveren. Installeres med Composer og oppdateres som enhver pakke.

app/

Appen din (nettstedet)

Sidemalen din, blokkene dine og visningene deres, innstillingsfanene og stilene dine. Registreres hos Aurora fra din egen service provider.

Regelen er enkel: Aurora er aldri avhengig av appen din. Der den trenger noe fra nettstedet (blokkene, innstillingene, visningen en side tegnes med) tilbyr den en krok, og appen din kaller den. Det gjør oppgraderinger kjedelige.

Teknologien

Laravel 13

Modeller, køer, e-post, innlogging og HTTP-laget.

Filament 5

Adminpanelet: ressurser, skjemaer, tabeller og handlinger.

Livewire & Alpine

Lerretet og alle interaktive skjermer.

Tailwind CSS

Adminpanelets tema og, om du vil, nettstedet ditt.

Innholdsmodell

Sider er blokker, lagret som JSON

En side har en tittel og adresse per språk, en status, SEO-felter og en liste med blokker. Beholdere (seksjoner, rutenett, knappegrupper) holder andre blokker i navngitte plasser.

  • Tekst som er ulik per språk ligger ved siden av blokkene, per blokk
  • Hver lagring skriver en versjon med et fullt øyeblikksbilde
  • Filer refereres med id i mediebiblioteket, så når du bytter en fil oppdateres alle sider
pages.blocks[0] JSON
{
  "id": "b7f2…",
  "type": "hero",
  "data": {
    "layout": "centered",
    "headline": "Pages are layouts, not *forms*",
    "primary_label": "Get started",
    "primary_page": "01a1…"
  }
}
Én blokk slik den lagres: typen og dataene.

Redaktører, assistenten og MCP

Ett sett verktøy, tre veier inn

Lerretet, assistenten i adminpanelet og MCP-klienter endrer alle innhold gjennom de samme operasjonene, sjekket mot de samme rettighetene, og hver endring lagres som en versjon.

  1. 01

    Noen ber om noe

    En redaktør drar inn en blokk, spør assistenten, eller Claude kaller add_block over MCP.

  2. 02

    Aurora sjekker

    Personens rolle avgjør om endringen er lov, uansett hvem som skriver.

  3. 03

    Innholdet endres

    Siden lagres som en ny versjon, med personen og kanalen (lerret, assistent eller MCP).

  4. 04

    Alle ser det

    Åpne editorer lastes inn på nytt, godkjennerne får beskjed, og aktivitetsloggen viser hva som skjedde.

Kroker

Bygge videre på Aurora

Hva appen din registrerer, og hvor.

app/Providers/AppServiceProvider.php PHP
use Aurora\Blocks\Blocks;
use Aurora\Support\SettingsTabs;

public function boot(): void
{
    // The blocks editors can use, in palette order.
    Blocks::register([HeroBlock::class, CardBlock::class, CodeSampleBlock::class]);

    // Settings your templates read, kept per site.
    SettingsTabs::register('footer', fn (): Tab => Tab::make(__('Footer'))->schema([
        TextInput::make('footer_note'),
    ]), siteKeys: ['footer_note']);
}