server/docs/proposals/personlig_workspace.md
vegard 74110e842c Dokumentasjon: oppdatert arkitektur, nye proposals og konsepter
Oppdatert basert på ekstern tilbakemelding. Nye proposals for
kildevern, podcasting 2.0, web clipper, waveforms, editor,
tekst-primitiv og avisvisning. Oppdatert meldingsboks med
slette-semantikk, entity resolution i kunnskapsgrafen, og
AI gateway med kildevern-modus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 21:45:24 +01:00

6.1 KiB

Forslag: Personlig workspace

Idé

Hver bruker får et personlig workspace som fungerer som en individuell produktivitetssuite. Alle verktøyene et delt workspace har — kanban, kalender, notater, graf-koblinger — men privat og selvorganisert. I tillegg: en personlig publiseringskanal ("blogg") der tekster kan deles med omverdenen.

Hvorfor er dette interessant?

Individuell produktivitet

Redaksjonsmedlemmer trenger et sted å jobbe uforstyrret:

  • Personlige oppgavelister (kanban)
  • Egen kalender (deadlines, påminnelser)
  • Kladder og research-notater
  • Graf-koblinger til temaer og aktører de følger

visibility = 'private' på meldingsbokser innenfor delte workspaces dekker noe av dette, men gir ikke en egen arbeidsflate. Et personlig workspace gir:

  • Eget kanban-brett for personlige oppgaver (ikke synlig for andre)
  • Egen kalender (kan overlappes med delt kalender i UI)
  • Egne notater uten støy fra fellesrommet
  • Egne graf-koblinger og research

Personlig publisering

Med tekst-primitiven (se tekst_primitiv.md) og publiseringsmodellen (se artikkel_publisering.md) kan personlig workspace også være utgangspunkt for en personlig blogg/feed:

  • Skriv en tekst i personlig workspace
  • Publiser den → tilgjengelig på en personlig URL (sidelinja.org/@vegard/...)
  • Teksten kan også plukkes opp av en felles publikasjon (se artikkel-publisering)

Hva bygger den på?

  • Workspace-modellen (RLS, workspace_members) — et personlig workspace er bare et vanlig workspace med én member
  • Meldingsboks — alt er allerede workspace-scopet
  • Tekst-primitiv (proposal) — gir notater en skikkelig editor
  • Artikkel-publisering (proposal) — gir publiseringskanalen

Skisse

Verktøy i personlig workspace

Verktøy Hva det er Bygger på
Oppgaver Personlig kanban-brett kanban_card_view
Kalender Personlig kalender calendar_event_view
Notater/kladder Meldinger med rich text editor Tekst-primitiv
Research Editor AI-knapp + graf-koblinger Kunnskapsgraf, AI gateway
Personlig feed Publiserte tekster med egen URL Artikkel-publisering

Alle disse er eksisterende features brukt i en personlig kontekst. Ingen ny funksjonalitet — bare et eget workspace å bruke dem i.

Opprettelse

Automatisk ved brukerregistrering. Workspacet er implisitt — det dukker opp i workspace-switcheren med et visuelt skille (ikon, farge, eller plassering).

Slug: personal-{authentik_id} (intern), visningsnavn: brukerens display_name.

Workspace-switcher

┌─────────────────────┐
│ 👤 Mitt workspace    │  ← alltid øverst, visuelt adskilt
├─────────────────────┤
│ 📻 Sidelinja         │
│ 🏛️ Foreningen        │
│ ...                  │
└─────────────────────┘

Flytt mellom workspaces

Tre strategier, rangert etter pragmatisme:

  1. Del, ikke flytt (enklest) — endre visibility fra 'private' til 'workspace'. Krever at meldingen allerede bor i mål-workspacet. Fungerer for "jobbe privat i fellesrommet", men ikke for å flytte fra personlig workspace til et delt.

  2. Kopier, ikke flytt (anbefalt) — opprett ny node i mål-workspace, behold original i personlig. Lenke mellom dem med COPIED_FROM-edge. Enkelt, trygt, ingen referanseproblemer.

  3. Flytt atomisk — endre workspace_id på node + alle avhengigheter i én transaksjon. Komplekst: graph_edges, reply_to-kjeder, kanban_card_view-referanser til kolonner i kilde-workspace. Ikke verdt kompleksiteten initialt.

Anbefaling: Start med (2). "Kopier til fellesrom" er en tydelig handling. Originalen forblir i personlig workspace som referanse.

Personlig publisering (avhenger av artikkel-publisering)

Hvert personlig workspace har en implisitt publikasjon (feed). Når en tekst publiseres fra personlig workspace:

  • Den får en article_view med slug og status
  • Den blir tilgjengelig på sidelinja.org/@brukernavn/slug
  • Den dukker opp i brukerens personlige Atom-feed
  • En redaktør i en felles publikasjon kan kuratere den derfra (se artikkel_publisering.md)

Åpne spørsmål

Grense mot delte workspaces

  • Kan et personlig workspace ha flere medlemmer (f.eks. invitere en kollega til å se kanban-brettet)? Eller er det strengt personlig?
  • Pragmatisk: start strengt personlig (1 member). Utvid later hvis behov oppstår.

Kvoter og vekst

  • Eget lagringsbudsjett per personlig workspace?
  • TTL-policy: samme som delte workspaces, eller mer liberal (personlig innhold slettes ikke automatisk)?
  • Trolig: ingen TTL på personlig workspace som default. Brukeren styrer selv.

Dashboard / startside

  • Bør personlig workspace ha et dashboard? F.eks.:
    • Siste notater
    • Kommende kalenderhendelser
    • Kanban-kort med deadline
    • Siste aktivitet i delte workspaces brukeren er med i
  • Eller er det overkill — bare vis verktøyene?

Alternativ: "Visibility er nok"

Det kan fortsatt hende at visibility = 'private' i delte workspaces dekker 80% av behovet. Et personlig workspace er da mest relevant for:

  • Innhold som ikke hører til noe delt workspace
  • Personlig publisering
  • Et "hjem" i appen

Verdt å evaluere etter at visibility og tekst-primitiven er på plass.

Innsats: Lav (opprettelse) / Middels (med publisering og dashboard)

Workspace-opprettelse ved registrering er trivielt. Publiseringslaget avhenger av tekst-primitiv og artikkel-publisering. Dashboard er eget arbeid.

Wow-faktor: Middels-Høy

Alene er det "et privat workspace". Med publisering blir det en personlig plattform — Substack-aktig, men integrert i redaksjonsverktøyet.

Relasjon til andre proposals

  • Tekst-primitiv — gir notater og kladder en skikkelig editor
  • Artikkel-publisering — gir publiseringsmodellen (publikasjoner, kuratorer, feeds)
  • Personlig workspace er konteksten der tekst-primitiven og publisering møtes for individet