Concepts basic item | a basic element in the system. | an item is represented by a URL group (item) | a special item that unifies several items list | a representation of several items tag | a piece of text connected with an item action | a user defined command or script constructed state (tag) | a named state of an item stack (group) | a set of versions or states of an item | a stack behaves like an item collection/list | a special list defined manually or with a search that is maintained in the filesystem tag chain | a special tag that consists of several tags event | a condition that can be bound to an action workflow | a named sequence/graph of states and transitions (actions) structural store URL structure configuration (archive-wide) general settings actions scripts remote refs clone settings index (metadata) data requirements index external data (represented by URLs and groups of URLs) indexing is done via tags (metadata) provide generic data operations search/select import copy/move/... ... provide data-specific operations import thumbnails/previews (for images) ... provide archive-level operations clone push/pull commit ... provide trivial configurability data-specific actions domain-specific archive actions stored data | the main idea behind this is to make a git like management system | suited for a slightly different data, characterised as: very large umbers of elements/files continually increasing number of elements elements rarely change (almost no diffing needed) metadata is constantly changed large elements span more than one storage media indirect as well as direct element cloning copy / backup preview thumbnail data is constantly searched or accessed basic requirements safe originals main workflows import new data . | vim:set spell ts=4 sw=4 :