1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/images/imip-agent-logo.svg Tue Nov 03 18:32:20 2015 +0100
1.3 @@ -0,0 +1,208 @@
1.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
1.6 +
1.7 +<svg
1.8 + xmlns:dc="http://purl.org/dc/elements/1.1/"
1.9 + xmlns:cc="http://creativecommons.org/ns#"
1.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1.11 + xmlns:svg="http://www.w3.org/2000/svg"
1.12 + xmlns="http://www.w3.org/2000/svg"
1.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1.15 + width="354.33069"
1.16 + height="354.33069"
1.17 + id="svg2"
1.18 + version="1.1"
1.19 + inkscape:version="0.48.3.1 r9886"
1.20 + sodipodi:docname="imip-agent-logo.svg"
1.21 + inkscape:export-filename="/home/paulb/Software/Python/imip-agent/docs/images/imip-agent-logo.png"
1.22 + inkscape:export-xdpi="25.4"
1.23 + inkscape:export-ydpi="25.4">
1.24 + <defs
1.25 + id="defs4" />
1.26 + <sodipodi:namedview
1.27 + id="base"
1.28 + pagecolor="#ffffff"
1.29 + bordercolor="#666666"
1.30 + borderopacity="1.0"
1.31 + inkscape:pageopacity="0.0"
1.32 + inkscape:pageshadow="2"
1.33 + inkscape:zoom="2.0489335"
1.34 + inkscape:cx="177.16534"
1.35 + inkscape:cy="177.16534"
1.36 + inkscape:document-units="mm"
1.37 + inkscape:current-layer="layer1"
1.38 + showgrid="true"
1.39 + units="mm"
1.40 + fit-margin-top="0"
1.41 + fit-margin-left="0"
1.42 + fit-margin-right="0"
1.43 + fit-margin-bottom="0"
1.44 + inkscape:window-width="1272"
1.45 + inkscape:window-height="935"
1.46 + inkscape:window-x="0"
1.47 + inkscape:window-y="0"
1.48 + inkscape:window-maximized="1">
1.49 + <inkscape:grid
1.50 + type="xygrid"
1.51 + id="grid2985"
1.52 + empspacing="5"
1.53 + visible="true"
1.54 + enabled="true"
1.55 + snapvisiblegridlinesonly="true"
1.56 + units="mm"
1.57 + spacingx="1mm"
1.58 + spacingy="1mm" />
1.59 + </sodipodi:namedview>
1.60 + <metadata
1.61 + id="metadata7">
1.62 + <rdf:RDF>
1.63 + <cc:Work
1.64 + rdf:about="">
1.65 + <dc:format>image/svg+xml</dc:format>
1.66 + <dc:type
1.67 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1.68 + <dc:title></dc:title>
1.69 + </cc:Work>
1.70 + </rdf:RDF>
1.71 + </metadata>
1.72 + <g
1.73 + inkscape:label="Layer 1"
1.74 + inkscape:groupmode="layer"
1.75 + id="layer1"
1.76 + transform="translate(0,-698.03149)">
1.77 + <rect
1.78 + style="opacity:0.50000000000000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:35.43307087000000166;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.79 + id="rect3914"
1.80 + width="311.811"
1.81 + height="311.811"
1.82 + x="21.259842"
1.83 + y="719.29132" />
1.84 + <path
1.85 + style="fill:#d6bb6a;fill-opacity:1;fill-rule:evenodd;stroke:#c8a338;stroke-width:7.08661413;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.86 + d="m 318.89764,846.85037 0,-7.08662 L 177.17889,733.4825 35.433071,839.76375 l 0,7.08662"
1.87 + id="rect2987-1"
1.88 + inkscape:connector-curvature="0"
1.89 + sodipodi:nodetypes="ccccc" />
1.90 + <path
1.91 + style="fill:#c8a439;fill-opacity:1;fill-rule:evenodd;stroke:none"
1.92 + d="m 35.4375,141.71875 -0.0044,3.55682 14.173228,0 106.299182,81.49606 21.25984,-17.71653 21.25985,17.71653 106.29924,-81.49606 14.17323,0 0.009,-3.55682 z"
1.93 + transform="translate(0,698.03149)"
1.94 + id="rect2987"
1.95 + inkscape:connector-curvature="0"
1.96 + sodipodi:nodetypes="cccccccccc" />
1.97 + <path
1.98 + style="opacity:0.75;fill:#d7d7d7;fill-opacity:1;fill-rule:evenodd;stroke:#f18181;stroke-width:7.08661413;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.99 + d="m 276.37795,839.76375 7.08662,-127.55905 -212.598428,0 7.074311,127.55905"
1.100 + id="rect2989"
1.101 + inkscape:connector-curvature="0"
1.102 + sodipodi:nodetypes="cccc" />
1.103 + <path
1.104 + style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#fca4a4;stroke-width:7.08661413000000007;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.105 + d="m 77.952756,839.76375 -7.105315,106.28396 212.624999,0 -7.09449,-106.28396"
1.106 + id="rect2989-5"
1.107 + inkscape:connector-curvature="0"
1.108 + sodipodi:nodetypes="cccc" />
1.109 + <path
1.110 + style="fill:#ee3434;fill-opacity:1;fill-rule:evenodd;stroke:#cd1111;stroke-width:7.08699989;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.111 + d="m 230.31619,839.75563 3.54208,-70.85802 -113.38583,0 3.5625,70.85802"
1.112 + id="rect2989-3"
1.113 + inkscape:connector-curvature="0"
1.114 + sodipodi:nodetypes="cccc" />
1.115 + <path
1.116 + style="fill:#fa5a5a;fill-opacity:1;fill-rule:evenodd;stroke:#f20707;stroke-width:7.08661413;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.117 + d="m 124.01575,839.73541 -3.54331,42.54803 113.38583,0 -3.54331,-42.54803"
1.118 + id="rect2989-3-7"
1.119 + inkscape:connector-curvature="0"
1.120 + sodipodi:nodetypes="cccc" />
1.121 + <path
1.122 + style="opacity:0.85;fill:#dfca8a;fill-opacity:1;fill-rule:evenodd;stroke:#d6bc6a;stroke-width:7.08661413;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.123 + d="m 35.433084,846.85037 14.17322,0 127.559046,99.2126 127.55906,-99.2126 14.17323,0 3.5433,170.07873 -290.551166,0 z"
1.124 + id="rect2987-6-3"
1.125 + inkscape:connector-curvature="0"
1.126 + sodipodi:nodetypes="cccccccc" />
1.127 + <path
1.128 + style="fill:#e9dbaf;fill-opacity:1;fill-rule:evenodd;stroke:#d6bb6a;stroke-width:7.08661413000000007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;opacity:0.85"
1.129 + d="m 177.16535,910.6299 145.27559,106.2992 -290.551176,0 z"
1.130 + id="rect2987-6-4"
1.131 + inkscape:connector-curvature="0"
1.132 + sodipodi:nodetypes="cccc"
1.133 + inkscape:export-xdpi="25.4"
1.134 + inkscape:export-ydpi="25.4" />
1.135 + <path
1.136 + style="fill:#ee3434;fill-opacity:1;fill-rule:evenodd;stroke:#cd1111;stroke-width:7.08699989;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.137 + d="m 237.40157,733.46454 -1.77165,21.25984 -116.92913,0 -1.77166,-21.25984 z"
1.138 + id="rect2989-3-9"
1.139 + inkscape:connector-curvature="0"
1.140 + sodipodi:nodetypes="ccccc" />
1.141 + <text
1.142 + xml:space="preserve"
1.143 + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L;stroke-opacity:1"
1.144 + x="139.28862"
1.145 + y="53.271782"
1.146 + id="text3801"
1.147 + sodipodi:linespacing="125%"
1.148 + transform="translate(0,698.03149)"><tspan
1.149 + sodipodi:role="line"
1.150 + id="tspan3803"
1.151 + x="139.28862"
1.152 + y="53.271782" /></text>
1.153 + <g
1.154 + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L;stroke-opacity:1;stroke-width:1.41732283000000003;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:round"
1.155 + id="text3805"
1.156 + transform="translate(1.4807943,0.88580935)">
1.157 + <path
1.158 + d="m 145.18819,739.95344 2.096,9.088 2.4,0 2.064,-9.088 0,9.088 2.4,0 0,-11.664 -3.616,0 -2.048,9.28 -2.112,-9.28 -3.584,0 0,11.664 2.4,0 0,-9.088"
1.159 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.160 + id="path3814"
1.161 + inkscape:connector-curvature="0" />
1.162 + <path
1.163 + d="m 161.30032,737.18544 c -1.632,0 -2.976,0.544 -3.968,1.616 -1.04,1.12 -1.632,2.752 -1.632,4.496 0,1.744 0.592,3.392 1.632,4.496 1.008,1.088 2.32,1.616 3.984,1.616 1.664,0 2.976,-0.528 3.984,-1.616 1.008,-1.072 1.632,-2.768 1.632,-4.416 0,-1.824 -0.592,-3.456 -1.632,-4.576 -1.024,-1.104 -2.32,-1.616 -4,-1.616 m 0.016,2.048 c 1.968,0 3.216,1.60001 3.216,4.128 0,2.384 -1.296,4 -3.216,4 -1.936,0 -3.216,-1.616 -3.216,-4.064 0,-2.44799 1.28,-4.064 3.216,-4.064"
1.164 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.165 + id="path3816"
1.166 + inkscape:connector-curvature="0" />
1.167 + <path
1.168 + d="m 175.68456,749.04144 2.4,0 0,-11.664 -2.4,0 0,7.936 -4.624,-7.936 -2.464,0 0,11.664 2.4,0 0,-8.064 4.688,8.064"
1.169 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.170 + id="path3818"
1.171 + inkscape:connector-curvature="0" />
1.172 + <path
1.173 + d="m 180.29232,749.04144 4.56,0 c 1.776,0 2.896,-0.416 3.68,-1.36 0.928,-1.088 1.424,-2.672 1.424,-4.48 0,-1.792 -0.496,-3.376 -1.424,-4.48 -0.784,-0.944 -1.888,-1.344 -3.68,-1.344 l -4.56,0 0,11.664 m 2.4,-2 0,-7.664 2.16,0 c 1.808,0 2.704,1.26401 2.704,3.84 0,2.56 -0.896,3.824 -2.704,3.824 l -2.16,0"
1.174 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.175 + id="path3820"
1.176 + inkscape:connector-curvature="0" />
1.177 + <path
1.178 + d="m 198.62808,746.68944 0.768,2.352 2.464,0 -4.032,-11.664 -2.656,0 -4.144,11.664 2.448,0 0.784,-2.352 4.368,0 m -0.656,-2 -3.04,0 1.52,-4.56 1.52,4.56"
1.179 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.180 + id="path3822"
1.181 + inkscape:connector-curvature="0" />
1.182 + <path
1.183 + d="m 206.38735,744.72094 3.696,-7.344 -2.688,0 -2.224,5.152 -2.384,-5.152 -2.672,0 3.872,7.344 0,4.32 2.4,0 0,-4.32"
1.184 + style="font-weight:bold;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;-inkscape-font-specification:Nimbus Sans L Bold"
1.185 + id="path3824"
1.186 + inkscape:connector-curvature="0" />
1.187 + </g>
1.188 + <g
1.189 + style="font-size:80px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L;stroke-opacity:1;stroke-width:1.41732283000000003;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:round"
1.190 + id="text3826"
1.191 + transform="translate(182.38904,1.8538424)">
1.192 + <path
1.193 + d="m -5.2236892,837.90991 -1.77165,35.43307 17.7165302,0 -1.7716502,-35.43307 z"
1.194 + style="font-size:144px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.195 + id="path3831"
1.196 + inkscape:connector-curvature="0"
1.197 + sodipodi:nodetypes="ccccc" />
1.198 + </g>
1.199 + <g
1.200 + style="font-size:80px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L;stroke-opacity:1;stroke-width:1.41732283000000003;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:round"
1.201 + id="text3826-2"
1.202 + transform="translate(253.25518,1.8538399)">
1.203 + <path
1.204 + style="font-size:144px;fill:#ebebeb;fill-opacity:1;stroke:#ebebeb;stroke-width:1.41732283000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
1.205 + d="m -79.613202,774.12104 c -3.5433,14.17323 -3.54552,14.17544 -17.71875,17.71875 l 0,7.09375 19.46875,0 1.773376,38.97637 14.173229,0 3.553395,-63.78887 z"
1.206 + id="path3831-8"
1.207 + inkscape:connector-curvature="0"
1.208 + sodipodi:nodetypes="cccccccc" />
1.209 + </g>
1.210 + </g>
1.211 +</svg>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/docs/wiki/Administration Tue Nov 03 18:32:20 2015 +0100
2.3 @@ -0,0 +1,93 @@
2.4 += Administering imip-agent =
2.5 +
2.6 +With imip-agent deployed, usage of the software should occur automatically.
2.7 +However, evidence of its operation will only emerge when calendar-related
2.8 +messages are exchanged between e-mail users. This will cause a few different
2.9 +things to happen:
2.10 +
2.11 + * Summary messages may be sent by the calendar system to mail recipients
2.12 +
2.13 + * Replies to calendar-related messages may be received by the senders of
2.14 + those messages
2.15 +
2.16 + * Free/busy information will become available, either in responses to
2.17 + requests sent over e-mail, or [[../FreeBusyPublishing|over the Web]]
2.18 +
2.19 +In the background, imip-agent uses and updates information as described in the
2.20 +[[../FilesystemUsage|filesystem usage guide]].
2.21 +
2.22 +== Creating User Data Stores ==
2.23 +
2.24 +The [[../MailIntegration|mail system]] mechanisms are responsible for
2.25 +determining whether a valid recipient has been specified in any given message,
2.26 +and imip-agent does not attempt to validate such information again. Therefore,
2.27 +when a message is received for a calendar user for whom no data store has been
2.28 +initialised in the [[../FilesystemUsage|filesystem]], the software will
2.29 +automatically create one.
2.30 +
2.31 +Consequently, users for whom such data stores have been created will experience
2.32 +the software using the default configuration, described in the
2.33 +[[../Preferences|preferences guide]]. It is for this reason that the default
2.34 +values in the [[../Configuration|configuration]] should be adjusted according
2.35 +to the policies decided for the deployment of this software.
2.36 +
2.37 +However, it is possible to create data stores for users in advance using the
2.38 +`tools/init_user.sh` script as in the following example:
2.39 +
2.40 +{{{
2.41 +tools/init_user.sh mailto:vincent.vole@example.com
2.42 +}}}
2.43 +
2.44 +Here, the user identity is given as a URI since this is how iCalendar references
2.45 +participants in scheduling operations. The result of the above command should be
2.46 +some new directories in the [[../FilesystemUsage|filesystem area]] dedicated to
2.47 +calendar information storage.
2.48 +
2.49 +=== Initialising Resources ===
2.50 +
2.51 +Resources belong to a class of user whose preferences should be configured in
2.52 +advance because their policies may differ on a case-by-case basis. For example,
2.53 +some resources may benefit from employing the `permitted_times` setting so that
2.54 +a granularity on event times may be imposed, meaning that such resources would
2.55 +be "handed over" at regular intervals.
2.56 +
2.57 +The `freebusy_offers` setting, together with the `scheduling_function` setting,
2.58 +would allow different kinds of resources to "keep open" tentatively-suggested
2.59 +periods for different lengths of time, allowing frequently-requested resources
2.60 +to respond to scheduling requests in a timely fashion, whilst also allowing
2.61 +other resources to give more time to event organisers to respond to their
2.62 +counter-proposals.
2.63 +
2.64 +=== Adjusting Preferences ===
2.65 +
2.66 +Once initialised, the user preferences can be adjusted by adding files to the
2.67 +`preferences` directory created by the above command. For example, if a user has
2.68 +elected to not participate in the calendar system, a file called `participating`
2.69 +can be added as follows:
2.70 +
2.71 +{{{
2.72 +echo 'no' > '/var/lib/imip-agent/preferences/mailto:vincent.vole@example.com/participating'
2.73 +}}}
2.74 +
2.75 +Here, the default storage location has been given in the filename.
2.76 +
2.77 +Normally, users should visit the [[../CalendarManager|management interface]] to
2.78 +change their preferences, but modifications done by administrators are more
2.79 +efficiently performed by directly interacting with the filesystem. For example,
2.80 +an administrator might initialise the common names of users by scripting changes
2.81 +to the `CN` file for each user, obtaining such names from some kind of database.
2.82 +
2.83 +== Excluding Users Entirely ==
2.84 +
2.85 +Since the [[../AgentPrograms|agent programs]] are installed as part of the mail
2.86 +handling workflow, even the configuration of non-participation in the calendar
2.87 +system for users will still result in those users' messages being passed along
2.88 +the workflow by imip-agent, which may result in a decrease in general mail
2.89 +delivery performance.
2.90 +
2.91 +To exclude users entirely, the routing configuration of the
2.92 +[[../MailIntegration|MTA]] needs to be changed so that such users identities are
2.93 +not recognised as calendar system participants, thus preventing their messages
2.94 +from being routed via imip-agent. This is as simple as either not listing the
2.95 +identity in [[../MailIntegration/Simple|lists of addresses]] or by adjusting
2.96 +[[../MailIntegration/LDAP|queries yielding calendar users]].