easydb Technical Overview

easydb is a full featured data and digital asset management system build on top of open source technologies like Linux, PostgreSQL, Apache and for the web frontend PHP.

The system easydb consists of two major parts

easydb asset server (EAS)

EAS is a distributable storage system with a simple programming HTTP-API with JSON output. It does not have a graphical frontend. EAS stores all file formats and is able to produce derived versions for many of them.

The EAS as the central management system for files (assets) supports:

  • Storing files
  • Generating thumbnail & previews
  • Extensive page support (e.g. a pdf with 100 pages has previews and zoomsupport for each page!)
  • Manipulating images (crop, mirror, etc.)
  • Watermarking of files
  • Real-time jpeg zooming with seamless tiles
  • Converting office formats (e.g. docx to pdf, html to pdf)
  • Transcoding video and audio (e.g. avi to flv)
  • Managing embedded file metadata
  • Files can be searched by metadata
  • Programmers can store additional custom information for each files
  • Video streaming

The technical features of the EAS

  • It is mostly written in Python.
  • EAS features a database based job queue.
  • EAS workers (programs that do conversion jobs) can be distributed across machines
  • Partitioning support: Files can be stored on different file systems, locally and on the network.
  • EAS reads and writes metadata (IPTC, XMP, EXIF, etc.) information for a plenty of file formats.
  • EAS supports many file formats like JPEG, TIFF, PNG, PDF, PDFA, AVI, MOV, MP3, MP4, WAV, DOC[X], PPT[X], XLS[X], etc.
  • EAS manages OpenOffice processes to support all the office file formats).
  • EAS works with millions of files and concurrent users.
  • Every file gets a unique ID under which it can be referred to when talking to the EAS.
  • EAS can be given conversion jobs, jobs can be queried for their current status.
  • EAS stores its meta-information in an SQL database (PostgreSQL), and its files on the filesystem.
  • Files can be derivates from other files (tree support), that way you can crop and image, have thumbnails for the cropped image and can still keep the referenced original.

easydb

easydb is a customizable graphical web frontend for SQL databases (PostgreSQL).

easydb features include:

  • Free datamodelling like in Microsoft Access.
  • Support for search, view and editing the data.
  • easydb Creator is the integrated tool to customize easydb to the broadest range of use cases.
  • Side-by-side-slide presentations with ZIP and Microsoft-PowerPoint Export.
  • Workfolder with ZIP export
  • Google Maps (inline) and Google Earth (kml files) integration for location information
  • Support for hierachical organized tables (explorer like views)
  • Integrated plug-in free seamless zoom support for JPEG images
  • Extensive rights management on all levels (table, object, 1-n relations)
  • Support for completely separated assets and data pools for user groups
  • Workflow and integrated email send support
  • Graphical frontends for tools like crop, mirror
  • Embedded Flash player for audio and video
  • Authentication support for LDAP and Shibboleth
  • HTTP-interface for searching and reading object data
  • Seamless integration of the easydb asset server
  • Support for multiple frontends for different user groups
  • Import and export of CSV and XML

The technical features of the easydb

  • Written in PHP and Javascript.
  • Supports Internet Explorer >= 7, Firefox > 3, Apple Safari 4, Google Chrome, Opera > 9.
  • The data model is customizable, easydb itself uses only 5 tables.
  • Frontend is developed and customized with the easydb Creator.
  • All frontend information is stored in an SQLite database.