1.1 --- a/docs/wiki/FilesystemUsage Sun Feb 07 23:35:20 2016 +0100
1.2 +++ b/docs/wiki/FilesystemUsage Mon Feb 08 00:14:53 2016 +0100
1.3 @@ -7,31 +7,78 @@
1.4 {{{#!table
1.5 '''Resource''' || '''Default Location''' || '''Purpose'''
1.6 ==
1.7 -Store || `/var/lib/imip-agent/store`
1.8 -|| Per-user directories containing calendar objects and scheduling information
1.9 +Free/busy || `/var/www/imip-agent/static`
1.10 +|| Per-user directories containing [[../FreeBusyPublishing|free/busy resources]]
1.11 +.. for publication over the Web
1.12 +==
1.13 +Journal || `/var/lib/imip-agent/journal`
1.14 +|| Per-quota directories containing journal information recording
1.15 +.. [[../Resources|resource]] usage
1.16 ==
1.17 Preferences || `/var/lib/imip-agent/preferences`
1.18 || Per-user directories containing [[../Preferences|preferences]] controlling
1.19 .. each user's experience of the software
1.20 ==
1.21 -Free/busy || `/var/www/imip-agent/static`
1.22 -|| Per-user directories containing [[../FreeBusyPublishing|free/busy resources]]
1.23 -.. for publication over the Web
1.24 +Store || `/var/lib/imip-agent/store`
1.25 +|| Per-user directories containing calendar objects and scheduling information
1.26 }}}
1.27
1.28 Note that the free/busy resources are located in `/var/www` as opposed to
1.29 -`/var/lib`.
1.30 +`/var/lib` since they are intended to be published on the Web.
1.31 +
1.32 +== Journal Structure ==
1.33 +
1.34 +Within the journal directory are a collection of subdirectories, each of which
1.35 +represent a distinct quota group for one or more resources. When a user attempts
1.36 +to reserve a resource in such a group, their ability to schedule that resource
1.37 +will depend on how much they are using the other resources in that group.
1.38 +
1.39 +The directory for each quota group contains the following entries:
1.40 +
1.41 +{{{{#!table
1.42 +'''Entry''' || '''Purpose'''
1.43 +==
1.44 +`freebusy`
1.45 +|| A directory containing files, one per user, each containing period descriptions
1.46 +.. for reservations made by that user, in chronological order, structured
1.47 +.. similarly to the `freebusy` file found in each user's own store; the record is
1.48 +.. consolidated for all resources in a quota group, but it is not consolidated for
1.49 +.. groups of users
1.50 +{{{
1.51 +freebusy/USER
1.52 +}}}
1.53 +==
1.54 +`groups`
1.55 +|| A mapping from user identities to group identifiers indicating the sharing
1.56 +.. of a quota across a number of users
1.57 +==
1.58 +`journal`
1.59 +|| A directory containing transaction files, one per user or user group,
1.60 +.. describing confirmed reservations and retracted (cancelled) reservations for
1.61 +.. that user or group
1.62 +{{{
1.63 +journal/GROUP
1.64 +journal/USER
1.65 +}}}
1.66 +==
1.67 +`limits`
1.68 +|| A mapping from user identities or group identifiers to quota limits
1.69 +}}}}
1.70
1.71 == Store Structure ==
1.72
1.73 +Within the store directory are a collection of user-specific subdirectories
1.74 +acting as each user's own store directory containing various files and further
1.75 +subdirectories.
1.76 +
1.77 The store directory for each user is considered in isolation from all other
1.78 -users' directories: imip-agent does not go looking for information belonging to
1.79 -other users when processing information on behalf of a particular user.
1.80 +users' directories: imip-agent ''does not'' go looking for information belonging
1.81 +to other users when processing information on behalf of a particular user.
1.82
1.83 -The following subdirectories are defined within a user's store directory:
1.84 +The following entries are defined within a user's own store directory:
1.85
1.86 {{{{#!table
1.87 -'''Directory''' || '''Purpose'''
1.88 +'''Entry''' || '''Purpose'''
1.89 ==
1.90 `cancellations`
1.91 || Retains cancelled event details in `objects` and `recurrences` structures
1.92 @@ -65,6 +112,9 @@
1.93 || A collection of files, one per user, each containing period descriptions
1.94 .. received or deduced for that user in chronological order, structured similarly
1.95 .. to the store user's own `freebusy` file
1.96 +{{{
1.97 +freebusy-other/USER
1.98 +}}}
1.99 ==
1.100 `freebusy-providers`
1.101 || A file containing details of [[../EventRecurrences|recurring events]] for which