Naar inhoud
Aedi
Menu

Lab-project

In gebruik

File Portaal

Desktopportal die documenten uit een centrale bestandsmap ontsluit via één interface.

Producttype
Desktopportal
Platform
Desktop — Tauri + Next.js
Rol
Product, ontwerp en development
Status
In gebruik
File Portaal — documentenportaal interface

CONTEXT

Een lab-project van Aedi: een desktopportal die documenten uit een centrale bestandsmap ontsluit via één overzichtelijke interface.

DE UITDAGING

Documenten stonden verspreid in een centrale map en waren omslachtig te doorzoeken, te openen en te printen. Er was behoefte aan één schil eromheen — snel bladeren en openen, zonder telkens door mappen te klikken.

AANPAK

  • Een desktop-app gebouwd met Tauri en een Next.js front-end, zodat het als één programma draait.
  • De interface direct gekoppeld aan bestanden elders op het systeem — bladeren, openen en printen vanuit één plek.
  • Bewust licht gehouden: een schil om de bestandsmap, geen zwaar documentmanagementsysteem.

WAT HET LAAT ZIEN

  • Desktop-app-engineering met Tauri, niet alleen web
  • Een web-UI gekoppeld aan het lokale bestandssysteem
  • Praktische documentworkflows: bladeren, openen, printen

ONTWERPPRINCIPES

De keuzes vóór de code.

De bron blijft leidend

Het portaal is een schil om de bestaande bestandsmap. Documenten blijven waar ze staan; het portaal voegt geen eigen opslag of tweede administratie toe.

Lezen, niet beheren

Gebouwd rond drie handelingen: bladeren, openen en printen. Bewust geen zwaar documentmanagementsysteem met werkstromen en rechtenmatrices.

Desktop, geen browser-tab

Eén programma dat bij de bestandsmap op het systeem kan — iets wat een gewone browser-tab niet zomaar mag. De interface zelf is webtechniek.

Versies zichtbaar, niet verwarrend

De huidige versie is duidelijk gemarkeerd; oudere versies blijven opvraagbaar maar staan niet in de weg.

SYSTEEMOVERZICHT

Hoe de onderdelen samenhangen.

De gebruiker werkt in één desktop-app. Die app toont de inhoud van de centrale documentenmap en laat bestanden openen en printen via het systeem. De map zelf blijft de enige bron: het portaal slaat niets dubbel op.
  • Gebruiker

    Bladert door de structuur en kiest een document.

    WERKPLEK

  • File Portaal

    Eén interface over de documentenmap: bladeren, openen, printen.

    TAURI-SCHIL + NEXT.JS-UI, LOKAAL GESERVEERD

  • Centrale documentenmap

    De bron. Documenten blijven hier staan; het portaal leest.

    BESTANDSSYSTEEM

  • Systeem

    Openen en afdrukken verlopen via de standaardvoorzieningen van het systeem.

    STANDAARDAPPLICATIES · PRINTER

TECHNISCHE VERDIEPING

Drie keuzes, met hun prijs.

Desktop versus browser

Een desktop-app met Tauri in plaats van een website. Het portaal moet direct bij een bestandsmap op het systeem kunnen. Een browser-tab is daarvoor niet gemaakt; een desktop-schil wel.

Trade-off
Een desktop-app moet op de werkplek geïnstalleerd en bijgewerkt worden — dat is beheer dat een website niet heeft.
Effect
De gebruiker opent één programma en staat meteen in de documentenstructuur.

Web-interface in een native schil

De interface is Next.js en wordt binnen de app lokaal geserveerd. Vertrouwde webtechniek voor het bouwen van de interface, met de native schil alleen voor wat web niet kan: systeemtoegang.

Trade-off
Twee lagen in één app betekent een expliciete brug tussen interface en systeem — elke systeemactie is een gedefinieerde opdracht, niets gaat impliciet.
Effect
Een snelle, vertrouwde interface met desktopmogelijkheden.

Versiebeeld zonder beheerlast

De huidige versie prominent, oudere versies ingeklapt eronder. Wie een document pakt, moet zeker weten dat het de actuele versie is — zonder een versiebeheersysteem te hoeven leren.

Trade-off
Het portaal toont versies, het beheert ze niet. De map blijft de waarheid; discipline in de bron blijft nodig.
Effect
Minder kans dat een verouderde versie wordt geopend of geprint.

IN CODE

De brug tussen interface en bestandsmap

Dit is de kern van de architectuur: de interface vraagt, de schil leest — en alleen binnen de documentenmap.

De brug tussen interface en bestandsmapVereenvoudigd voorbeeld
// De documentenmap is de enige plek waar het portaal leest.fn binnen_bron(bron: &Path, gevraagd: &Path) -> Option<PathBuf> {    let pad = bron.join(gevraagd).canonicalize().ok()?;    pad.starts_with(bron).then_some(pad)} // Elke systeemactie is een expliciete, benoemde opdracht// die de interface via de Tauri-brug aanroept.#[tauri::command]fn lijst_map(bron: State<Bronmap>, map: String) -> Result<Vec<Item>, Fout> {    let pad = binnen_bron(&bron.0, Path::new(&map))        .ok_or(Fout::BuitenBron)?;    // Alleen lezen: het portaal beheert de bestanden niet.    lees_items(&pad)} #[tauri::command]fn open_document(bron: State<Bronmap>, pad: String) -> Result<(), Fout> {    let doel = binnen_bron(&bron.0, Path::new(&pad))        .ok_or(Fout::BuitenBron)?;    // Openen gebeurt met de standaardapplicatie van het systeem.    open_met_systeem(doel)}
  • De interface kan niets rechtstreeks op het systeem doen: elke actie loopt via een benoemde opdracht in de schil.
  • Paden worden eerst herleid naar de documentenmap; wat daarbuiten valt, wordt niet gelezen.
  • De opdrachten zijn leesacties — openen en printen worden doorgegeven aan het systeem.

GEGEVENSGRENZEN

Waar de gegevens wél en niet komen.

Documenten blijven in de bronmap

Het portaal voegt geen eigen opslag toe. Wat in de documentenmap staat, blijft daar staan — er ontstaat geen tweede kopie die kan gaan afwijken.

De interface draait lokaal

De Next.js-interface wordt binnen de desktop-app lokaal geserveerd. Bladeren en openen gebeuren op de eigen werkplek.

Gebouwd rond leesacties

Het portaal is ontworpen voor bladeren, openen en printen. Documenten bewerken of verplaatsen hoort bewust niet bij de scope van de interface.

RESULTAAT

Wat er nu anders is.

  • Eén vaste route naar het juiste document: bladeren, openen en printen vanuit één interface, in plaats van door mappen klikken.
  • De actuele versie is direct herkenbaar; oudere versies blijven bereikbaar zonder in de weg te staan.
  • De bestandsmap zelf blijft de enige bron — het portaal introduceert geen tweede administratie.

ZOIETS NODIG?

Draait jouw documentproces nog op losse mappen en handwerk?

Een portaal als dit is één mogelijke vorm. We kijken eerst naar je proces — en bouwen daarna wat past.