imip-agent

docs/wiki/FilesystemUsage

1021:a04c967b2d8e
2015-11-06 Paul Boddie Removed the complicated "old" lock directory mechanism since the active lock directory should be protected by the "outside-in" attempts to create it while the dismantling operation occurs "inside-out".
     1 = Filesystem Usage =     2      3 The behaviour and operation of imip-agent is controlled by resources stored     4 in the filesystem on the host on which the software is running. These resources     5 are organised as follows:     6      7 {{{#!table     8 '''Resource''' || '''Default Location''' || '''Purpose'''     9 ==    10 Store || `/var/lib/imip-agent/store`    11 || Per-user directories containing calendar objects and scheduling information    12 ==    13 Preferences || `/var/lib/imip-agent/preferences`    14 || Per-user directories containing [[../Preferences|preferences]] controlling    15 .. each user's experience of the software    16 ==    17 Free/busy || `/var/www/imip-agent/static`    18 || Per-user directories containing [[../FreeBusyPublishing|free/busy resources]]    19 .. for publication over the Web    20 }}}    21     22 Note that the free/busy resources are located in `/var/www` as opposed to    23 `/var/lib`.    24     25 == Store Structure ==    26     27 The store directory for each user is considered in isolation from all other    28 users' directories: imip-agent does not go looking for information belonging to    29 other users when processing information on behalf of a particular user.    30     31 The following subdirectories are defined within a user's store directory:    32     33 {{{{#!table    34 '''Directory''' || '''Purpose'''    35 ==    36 `cancellations`    37 || Retains cancelled event details in `objects` and `recurrences` structures    38 .. corresponding to those at the top level of the store from which the    39 .. cancelled events originate:    40 {{{    41 cancellations/objects/UID    42 cancellations/recurrences/UID/RECURRENCE-ID    43 }}}    44 ==    45 `counters`    46 || Retains counter-proposals for events in `objects` and `recurrences`    47 .. structures corresponding to those at the top level of the store for which    48 .. the counter-proposals are received, with a counter-proposal for each    49 .. respondent being held for each object or recurrence involved:    50 {{{    51 counters/objects/UID/ATTENDEE    52 counters/recurrences/UID/RECURRENCE-ID/ATTENDEE    53 }}}    54 ==    55 `freebusy`    56 || A file containing period descriptions in chronological order, one per line,    57 .. indicating start and end datetimes (in UTC), unique identifier (`UID`),    58 .. transparency, summary and organiser    59 ==    60 `freebusy-offers`    61 || A file containing period descriptions in chronological order for    62 .. scheduling offers made by counter-proposals sent by the user    63 ==    64 `freebusy-other`    65 || A collection of files, one per user, each containing period descriptions    66 .. received or deduced for that user in chronological order, structured similarly    67 .. to the store user's own `freebusy` file    68 ==    69 `freebusy-providers`    70 || A file containing details of [[../EventRecurrences|recurring events]] for which    71 .. new free/busy records must be [[../CronIntegration|periodically generated]]    72 .. because these events recur indefinitely    73 ==    74 `objects`    75 || A collection of files, one per event, each bearing as its name the unique    76 .. identifier (`UID`) of the event, with each file containing the event data:    77 {{{    78 objects/UID    79 }}}    80 ==    81 `recurrences`    82 || A collection of directories, one per "parent" event, each bearing as its name    83 .. the unique identifier (`UID`) of the event, with each directory containing a    84 .. collection of files, one per event recurrence, each bearing as its name the    85 .. normalised recurrence identifier (`RECURRENCE-ID`) of the recurrence, with each    86 .. file containing the data of the event recurrence:    87 {{{    88 recurrences/UID/RECURRENCE-ID    89 }}}    90 ==    91 `requests`    92 || A list of records, one per line, each consisting of a unique identifier (`UID`),    93 .. normalised recurrence identifier (`RECURRENCE-ID`) if appropriate, and    94 .. (optionally) a scheduling method, indicating the availability of an incoming    95 .. scheduling request for handling by a user    96 }}}}