easydb Technische Übersicht

easydb ist eine Software zur Verwaltung von strukturierten Metadaten und digitalen Medien (Digital Asset Management System). Es basiert auf den Open-Source-Technologien Linux, PostgreSQL, Apache und im Frontend PHP.

Das easydb-System besteht im Wesentlichen aus zwei Komponenten:

Dazu kommt teilweise noch Imexporter-Server, welcher den strukturierten Export der Daten erlaubt (z.B. als XML, PDF). Dieser verwendet bereits Code-Teile, die auch für die easydb 5 zum Einsatz kommen werden.

easydb asset server (EAS)

Der EAS ist ein verteilt installierbares Dateiablagesystem. Der Zugriff erfolgt über eine HTTP-API (Schnittstelle), welche auf Anfragen mit JSON antwortet. Der EAS selbst verfügt über kein grafisches Frontend. Der EAS erlaubt die Ablage von Dateien in jedem Format. Dabei können automatisch verschiedene Varianten der Dateien – zum Beispiel bei Bildern unterschiedliche Auflösungen und Dateiformate – berechnet werden.

Funktionsumfang des EAS als zentrales Dateiablagesystem

  • Ablage und Speichern von Dateien
  • Erstellen von Vorschauen
  • Unterstützung von Dokumenten mit mehreren Seiten: zum Beispiel Ablage eines PDFs mit 100 Seiten und Zoom-Möglichkeit auf jeder einzelnen Seite
  • Bildbearbeitungswerkzeuge: Zuschneiden, Spiegeln, Drehen, Freistellen nach Pfaden
  • Parametrisierbares Einbetten von Wasserzeichen
  • Stufenloses kachelbasiertes Zoomen von Bildinhalten
  • Konvertierung von Office-Formaten, zum Beispiel: docx zu PDF oder HTML zu PDF
  • Transcodieren von Video- und Audio-Daten, zum Beispiel avi (mpeg2) zu flv (flash)
  • Verwaltung von in Medien eingebetteten Metadaten (z.B. EXIF, XMP, IPTC)
  • Recherche nach Dateien über deren (technische) Metadaten
  • Streamen von Videos

Technische Funktionen des EAS

  • Datenbankbasierte Steuerung der Reihenfolge und Abarbeitung von EAS-Aufgaben (Jobs)
  • Die EAS-Workers – die Programme, die die EAS-Jobs ausführen – können zur Lastverteilung über verschiedene Server distributiert werden
  • Unterstützung von verteilter Dateiablage, zum Beispiel auf verschiedenen Dateisystemen, lokal, im NAS oder SAN
  • Der EAS importiert und exportiert Metadaten, zum Beispiel IPTC, XMP, EXIF und viele weitere
  • Es werden eine Reihe unterschiedlichster Dateiformate unterstützt, zum Beispiel: JPEG, TIFF, PNG, PDF, PDFA, AVI, MOV, MP3, MP4, WAV, DOC[X], PPT[X], XLS[X] und weitere
  • Zur Unterstützung aller Office-Formate steuert der EAS OpenOffice -Prozesse
  • Der EAS unterstützt Installationen mit mehreren Millionen Datensätzen im Mehrbenutzer-Betrieb
  • Um EAS-Objekte über die API anzusprechen erhalten sie eine eindeutige Referenz-ID
  • Dem EAS können Jobs zur Konvertierung von Dateien gegeben werden; der Status eines Jobs kann über die API abgefragt werden
  • Die Dateiablage durch den EAS erfolgt im Dateisystem, die Verwaltung der Metadaten erfolgt in einer SQL-Datenbank (PostgreSQL)
  • Die abgelegten Objekte können von anderen Objekten abgeleitet werden. Der EAS unterstützt somit hierarchisierte Strukturen. Mit Werkzeugen bearbeitete Bilder können als abgeleitetes Objekt (Kind) des Originals gespeichert werden.
  • Der EAS ist zum großen Teil in Python programmiert

easydb

easydb ist ein anpassbares, grafisches, web-basiertes Frontend für SQL-Datenbanken (PostgreSQL)

Funktionsumfang der easydb

  • Freies grafisches Modellieren von relationalen Datenmodellen
  • Unterstützung der Eingabe (Ingest), Suche und Ausgabe (Publishing) von Inhalten
  • Mit dem easydb Creator, dem integrierten Werkzeug um easydbs zu erstellen und anzupassen, können unterschiedlichste Applikationen kreiert werden. Zum Beispiel: DAM-Systeme, Archivalien-Verwaltungssysteme, Museumsdatenbanken, Bilddatenbanken, Recherche-Portale, CRM-Systeme, etc.
  • In easydb werden Präsentationen als Doppelprojektion erstellt und können als ZIP (HTML) oder im Microsoft-PowerPoint-Format exportiert werden.
  • Freigabe, Download als ZIP und E-Mail-Versand von Arbeitsmappen (Collections)
  • Darstellung von Inhalten auf Google-Maps-Karten und Export für Google Earth (KML-Dateien) auf Basis von GPS-Koordinaten
  • Unterstützung von hierachisierten Strukturen, ähnlich der Windows-Explorer-Ordner-Struktur
  • Integriertes Plug-in, um stufenlos in JPEG-Bilder zu zoomen
  • Umfangreiches Rechtemanagement auf allen Ebenen im System, zum Beispiel: Tabelle, Objekt, 1-n-Relationen
  • Möglichkeiten der klaren Trennung von Inhalten durch easydb-Pools und durch Benutzergruppen im Rechtemanagement
  • Integrierte Workflow- und E-Mail-Funktionen
  • Grafische Steuerung der EAS-Werkzeuge, zum Beispiel Zuschneiden und Spiegeln
  • Zur Wiedergabe von Audio- und Video-Dateien verfügt easydb über einen integrierten Flash-Player
  • Authentifizierung über LDAP, AD, Shibboleth und Kerberos
  • Schnittstelle auf Basis von HTTP, um Suchanfragen an easydb zu senden und Objektdaten als Treffer zu erhalten
  • Volle Integration des EAS-Funktionsumfangs
  • Unterstützung von verschiedenen easydb-Frontends für verschiedene Benutzergruppen (auf Basis eines oder mehrerer EASs)
  • Importieren und Exportieren von CSV- und XML-basierten Daten

Technische Funktionen der easydb

  • easydb kann in allen gängigen aktuellen Web-Browsern verwendet werden
  • Das Datenmodell zur Inhalte-Verwaltung ist komplett flexibel, easydb selbst nutzt zur Verwaltung nur fünf Datenbanktabellen
  • Datenmodell und Frontend, Eingabe-, Recherche- und Ausgabemasken werden komplett im integrierten easydb Creator definiert
  • Das definierte Datenmodell und das Frontend werden in einer SQLite-Datenbank abgelegt
  • easydb ist in PHP und Javascript programmiert

Imexporter-Server

Neben dem eigentlichen Server, der zum strukturierten Export von Daten incl. Assets in verschiedenen Formaten dient, gehören zum Programmpaket auch Kommandozeilenwerkzeuge für den Im- und Export von Daten über ein generisches XML-Austauschformat.

Funktionen Imexporter-Server

  • generisches XML-Austauschformat, das sowohl für den Import als auch für den Export verwendet wird
  • Zugriff auf die Datenbank, Konfiguration des Imports und Exports durch eine XML-Beschreibung
  • verschiedene Schritte können zu einem "Plan" zusammengefügt werden:
    • Datenbankim- und -export,
    • XSLT
    • LaTeX-Aufrufe zur Erstellung von PDF
    • Kommunikation mit dem EAS zum Import und Export von Assets
    • Umbenennen von Dateien
    • Komprimierung des Ergebnisses
  • Teil des easydb-server-Pakets, welcher die Grundlage der easydb 5 legt
  • Programmierung in C++ mit Teilen in Python

Überblick Gesamtsystem