Filesets

Filesets are an important part of the Locomote system architecture. Basically, a fileset is a set of files within a content repository, whose contents are defined by one or more file name patterns. A file can belong to at most one fileset (and belongs to none if an unpublished file); and membership of that fileset defines how the file is published, how the file and its contents is represented in the file database, and whether the file is publically accessible, or has restricted access requiring specific user permissions to be accessed.

The following diagram shows a simplied overview of filesets in action.

Locomote.sh filesets

The diagram shows a list of files in a content repository, identified by their file paths, and the filesets each file belongs to. Each fileset has a category name, and a list of file name patterns defining the files that belong to the set. Each fileset may also have additional attributes associated with it; for example, the secure and data filesets could be marked restricted, meaning that only users with permission to read the fileset category would have access to the fileset contents.

Filesets may also have a number of processor functions associated with them. These functions can be used to generate or rewrite data associated with each file in the set, or to filter file data according to user permissions.