Ett verktyg med öppen kÀllkod som gör det enklare att leverera digitalt material till ETERNA
Bakgrund
Vi har tillsammans med kunder diskuterat hur vi undviker att alla utvecklar sin egen lösning för preingest och istÀllet skapar en "basplatta" att kunna bygga vidare pÄ.
Detta Àr en start och en möjlighet att forma en ny produkt tillsammans som kan underlÀtta framtida preingest.
Hur det fungerar
Du beskriver dina metadata-fĂ€lt i ett schema â plattformen sköter resten:
record:
metadataType: "arende"
label:
sv: "Ărende"
recordFields:
- name: arendenummer
type: string
required: true
- name: status
type: enumeration
values: ["Aktiv", "Avslutad"]
Systemet lÀser schemat vid uppstart, genererar automatiskt de ETERNA config-filer (overlay) som behövs för din metadata-typ, och exponerar ett REST API som accepterar metadata + filer, paketerar dem som E-ARK SIP och levererar direkt till ETERNA.
Arkitektur
schema.yaml (din konfiguration)
â
âŒ
eterna-ingest-service :8082 â REST API
â
âŒ
eterna-sip-commons â Paketering + ETERNA-klient
â
âŒ
ETERNA â AIP skapas i arkivet
Moduler
| Modul | Typ | Beskrivning |
eterna-sip-commons | Java-bibliotek | ETERNA-klient, SIP-paketering, retry-logik |
eterna-ingest-service | Spring Boot | Konfigurerbart REST API + overlay-generering |
eterna-ingest-ui | React | WebbgrÀnssnitt för manuell inleverans |
Funktioner
- Schemadrivet â inga kodĂ€ndringar behövs för nya metadata-typer
- Automatisk overlay-generering â ETERNA-konfigurationen skapas och distribueras vid uppstart
- FĂ€ltvalidering â
string, date, enumeration m.fl., med flersprÄkiga felmeddelanden
- Inbyggd retry-logik â tillfĂ€lliga nĂ€tverksfel hanteras transparent
- Exempelscheman medföljer â Ă€rendehantering, EAD 2002, EAD 3
AnvÀnda som bibliotek
Om du vill integrera direkt i en befintlig Spring Boot-applikation:
<dependency>
<groupId>se.eterna</groupId>
<artifactId>eterna-sip-commons</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Auto-konfigurationen registrerar EternaClient, IngestService, SipPackager m.fl. sÄ fort eterna.url Àr satt.
Status och bidrag
Projektet Àr under aktiv utveckling. KÀllkod, issues och PR vÀlkomnas.
Projektets repo och dokumentation: https://github.com/ETERNA-earkiv/eterna-preingest