Contents

Introduction

Software Design

Simple architecture, simple interface and plug-in based. The purpose is to be easy for the developer to build new tools but also for the user to build new approach to use the object repository.

Object Identification

The term object is somewhat incorrect as it's a only the identification of file with its submission data and unique hash. The ID of an object is composed of prefix (often the archive name), date and time of submission and the hash (SHA-2) of the object. Nothing more.

In the policy of your archive, you can decide to have an archive where multiple object can be added with the same hash, or not or following a time scale. Collision issued can be somewhat solved with the time scale approach.

Meta file definition

Meaning of the status file is to keep track of the state of the object.

Status file

by default : public

.sub file is just a definition for the object using dublin core field or some custom if needed.

status file (status)

public

private

nonvisible

dead

FAT (fat.sub)

An example sub files for Free Archive Toolkit :

dc:Creator; John Doe
dc:Date; 2004-12-31
dc:Description; The famous artwork of the FooBar in a river
dc:Format; image/png
fat:Source; http://www.foo.bar/JohnDoe.png

The fat:Source is the source (in URI format) of the document.

Extension directory

e is the extension directory for the extension used by the archive name.

Notes

Build an url list on freearchive.org of the licenses to be used, a kind of uri description for dc. Only the license following the freearchive recommendation more close to FSF free software than OSI license list.

e.g. freearchive.org/lic/gpl/2.0

Build a category list for the type of work

The FAT browser could use without any distinction an HTTP interface to the directories, a filesystem backend or alike

Basic application to do

A simple query interface to the backend. eg : list all submissions id from 2005, list all m/fat.sub dc:creator.