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 }}}}