Design Philosophy - StephenWitherden/Placeless GitHub Wiki
Placeless is so-named because it is inspired by document management principles first explored by Paul Dourish at Xerox Parc.
The system is designed around the following concepts:
- Source - A source is a place where files can be found (e.g. Flickr, Windows File System, Facebook).
- Collector - interrogates sources and loads them into the database as file sources
- File - Contains information about the individual file such as name, extension and content
- File Source - Information about the file discovered for that source, including metadata. Note that a single file may be found in multiple sources, or in multiple places in the same source (e.g. the same file could exist in multiple places on the same file system). Foles are de-duplicated using a hash function (MD5).
- Attribute - Describes a dimensional piece of information about a file, which is derives from Metadata (e.g. Year created, Tag, Set, Location, Subject).
- Attribute Value - A possible value for an Attribute (e.g. "Year Created" could be 2000, 2001, 2002 etc).
- File Attribute Value - Intersection between a file and an Attribute Value.
- Version - a version of a file that is equivalent to the file but might be a different representation (e.g. thumbnail)
- Hierarchy (future) - A set of attributes that have been chained together for navigation purposes (e.g. Year Created, then Subject).