1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/tools/profile_prefs.sh Tue Nov 03 23:56:13 2015 +0100
1.3 @@ -0,0 +1,17 @@
1.4 +#!/bin/sh
1.5 +
1.6 +DIRNAME=`dirname $0`
1.7 +
1.8 +BASEDIR="$DIRNAME/../.."
1.9 +PROFILE="$BASEDIR/imipweb/profile.py"
1.10 +
1.11 +# Match the prefs_table and swap the columns for a table.
1.12 +
1.13 +echo "|| '''Label''' || '''Setting''' ||"
1.14 +
1.15 + grep '^ \+("' "$PROFILE" \
1.16 +| sed 's/^ \+("\(.*\)".*, \+"\(.*\)"),$/|| \2 || [[..\/Preferences#\1|\1]] ||/'
1.17 +
1.18 +# Convert from... to...
1.19 +# ("setting" , "label"),
1.20 +# || label || [[../Preferences#setting|setting]] ||
2.1 --- a/docs/wiki/Administration Tue Nov 03 23:55:11 2015 +0100
2.2 +++ b/docs/wiki/Administration Tue Nov 03 23:56:13 2015 +0100
2.3 @@ -77,6 +77,14 @@
2.4 an administrator might initialise the common names of users by scripting changes
2.5 to the `CN` file for each user, obtaining such names from some kind of database.
2.6
2.7 +The permissions on any created files must be consistent with those defined when
2.8 +configuring the [[../SystemUsers|system users]] for imip-agent. To reset file
2.9 +permissions, use the appropriate tool script:
2.10 +
2.11 +{{{
2.12 +tools/fix.sh
2.13 +}}}
2.14 +
2.15 == Excluding Users Entirely ==
2.16
2.17 Since the [[../AgentPrograms|agent programs]] are installed as part of the mail
3.1 --- a/docs/wiki/CalendarManager Tue Nov 03 23:55:11 2015 +0100
3.2 +++ b/docs/wiki/CalendarManager Tue Nov 03 23:56:13 2015 +0100
3.3 @@ -7,7 +7,7 @@
3.4 and to create events to be shared with others.
3.5
3.6 The management interface is deployed according to the
3.7 -[[../WebServerIntegration|Web server integration guide]], and if enabled will be
3.8 +[[../WebServerIntegration|Web server integration guide]] and, if enabled, will be
3.9 advertised in messages sent by imip-agent to users receiving calendar-related
3.10 messages, with links being provided like this (subject to the configuration):
3.11
3.12 @@ -17,3 +17,91 @@
3.13
3.14 Upon following such a link, users should be asked to log in. They should then be
3.15 presented with the details of an event received via e-mail.
3.16 +
3.17 +== The Calendar View ==
3.18 +
3.19 +The root resource of the management interface shows a simple calendar view for
3.20 +the logged-in user. The following elements are displayed:
3.21 +
3.22 + * The name of the user, linking to a profile page
3.23 +
3.24 + * Any requests/invitations that require attention, linking to those items in the
3.25 + calendar
3.26 +
3.27 + * The period being shown, along with controls to navigate forwards and backwards
3.28 + in the calendar, and controls to show and hide empty days and busy periods
3.29 +
3.30 + * Participants for scheduling: details of other users whose schedules are shown
3.31 + alongside the user's own schedule
3.32 +
3.33 + * The calendar itself, featuring events, and possibly featuring a column
3.34 + containing requests and invitations
3.35 +
3.36 +Adding scheduling participants, specifying their e-mail address, results in a new
3.37 +schedule column being added for each new participant in the calendar. When creating
3.38 +an event, all scheduling participants are automatically added as attendees.
3.39 +
3.40 +The calendar is divided into days, and these are divided into periods depending on
3.41 +the nature of any events that feature in the calendar. Days for which no events are
3.42 +recorded are hidden by default; such days can be shown if desired.
3.43 +
3.44 +Whole days can be chosen by selecting day headings in the calendar. Similarly,
3.45 +individual periods can be chosen either by selecting period headings along the side
3.46 +of the calendar or by selecting cells in the calendar. Upon selecting periods,
3.47 +controls will appear for the creation of a new event, and if all periods are
3.48 +deselected, such controls will disappear.
3.49 +
3.50 +Events appear in the calendar as filled regions, and their labels correspond to the
3.51 +summary information defined for each event. These labels link to the event details
3.52 +unless a request has updated the event: in which case, the request label will link
3.53 +to the updated event details.
3.54 +
3.55 +Requests/invitations appear alongside events in a separate column in the calendar,
3.56 +and their label links to the details of the request (and thus updated event). Such
3.57 +items disappear from the calendar once processed by the user.
3.58 +
3.59 +== The User Profile ==
3.60 +
3.61 +Each user's profile details are presented in a table mostly corresponding to the
3.62 +system's [[../Preferences|preferences]], with the most significant settings given
3.63 +first. Many users will probably only want to change their participation in the
3.64 +calendar system, their name, language or time zone, at least if the defaults
3.65 +chosen for deployment are reasonable.
3.66 +
3.67 +The settings names correspond to the preferences as follows:
3.68 +
3.69 +## This is generated by the docs/tools/profile_prefs.sh script...
3.70 +
3.71 +|| '''Label''' || '''Setting''' ||
3.72 +|| Participate in the calendar system || [[../Preferences#participating|participating]] ||
3.73 +|| Your common name || [[../Preferences#CN|CN]] ||
3.74 +|| Language || [[../Preferences#LANG|LANG]] ||
3.75 +|| Time zone/regime || [[../Preferences#TZID|TZID]] ||
3.76 +|| How to present incoming calendar messages || [[../Preferences#incoming|incoming]] ||
3.77 +|| Share free/busy information || [[../Preferences#freebusy_sharing|freebusy_sharing]] ||
3.78 +|| Bundle free/busy details with messages || [[../Preferences#freebusy_bundling|freebusy_bundling]] ||
3.79 +|| Publish free/busy details via the Web || [[../Preferences#freebusy_publishing|freebusy_publishing]] ||
3.80 +|| Deliver details of received free/busy messages || [[../Preferences#freebusy_messages|freebusy_messages]] ||
3.81 +|| How to respond to messages adding events || [[../Preferences#add_method_response|add_method_response]] ||
3.82 +|| How to handle event refresh requests || [[../Preferences#event_refreshing|event_refreshing]] ||
3.83 +|| Recognise whom as a new organiser of an event? || [[../Preferences#organiser_replacement|organiser_replacement]] ||
3.84 +
3.85 +== The Event View ==
3.86 +
3.87 +The event view consists of the following elements:
3.88 +
3.89 + * Basic event details: summary, start and end dates/times, and the organiser
3.90 +
3.91 + * A list of attendees with controls to add and remove attendees, depending on
3.92 + the role of the user
3.93 +
3.94 + * Some controls to change or process the event
3.95 +
3.96 +In addition, some other elements may appear in the event view:
3.97 +
3.98 + * Periods during which the event recurs
3.99 +
3.100 + * Counter-proposals sent by attendees to the organiser of an event, appearing
3.101 + if the user has the organiser role, with controls to process these items
3.102 +
3.103 + * Periods that conflict with the event's own periods
4.1 --- a/docs/wiki/Configuration Tue Nov 03 23:55:11 2015 +0100
4.2 +++ b/docs/wiki/Configuration Tue Nov 03 23:56:13 2015 +0100
4.3 @@ -9,6 +9,11 @@
4.4 These files are by default installed into the `/etc/imip-agent` directory
4.5 and they can be changed in that location once the system is installed.
4.6
4.7 +{{{#!wiki tip
4.8 +=== Text Encoding ===
4.9 +The textual encoding employed by the preferences files is UTF-8.
4.10 +}}}
4.11 +
4.12 == System-Level and Tool Configuration ==
4.13
4.14 Given a choice of [[../SystemUsers|system users and groups]], the
5.1 --- a/docs/wiki/FrontPage Tue Nov 03 23:55:11 2015 +0100
5.2 +++ b/docs/wiki/FrontPage Tue Nov 03 23:56:13 2015 +0100
5.3 @@ -2,7 +2,8 @@
5.4
5.5 {{{#!table
5.6 [[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||
5.7 -[[#Deployment|Deployment]] || [[#Notes|Design/Implementation Notes]] ||
5.8 +[[#Deployment|Deployment]] || [[#Usage|Usage]] ||
5.9 +[[#Notes|Design/Implementation Notes]] ||
5.10 [[/CalendaringSupport|Support for Standards]]
5.11 }}}
5.12
5.13 @@ -144,6 +145,11 @@
5.14 * [[/CalendarManager|Calendar Management Interface]]
5.15 * [[/FreeBusyPublishing|Free/Busy Publishing]]
5.16
5.17 +<<Anchor(Usage)>>
5.18 +== Using the Software ==
5.19 +
5.20 + * [[/Usage|Using imip-agent]]
5.21 +
5.22 <<Anchor(Notes)>>
5.23 == Design and Implementation Notes ==
5.24
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/docs/wiki/Usage Tue Nov 03 23:56:13 2015 +0100
6.3 @@ -0,0 +1,22 @@
6.4 += Using imip-agent =
6.5 +
6.6 +As an e-mail user, imip-agent may already be working in the background on your
6.7 +behalf as you send and receive messages, depending on how the software has been
6.8 +[[../Configuration|configured]].
6.9 +
6.10 +If you are already using a mail program with calendar support, imip-agent can
6.11 +provide additional support for scheduling by
6.12 +[[../FreeBusyPublishing|publishing free/busy information]] for other calendar
6.13 +users. You can then configure your [[../MailClients|mail/calendar program]] to
6.14 +download this information.
6.15 +
6.16 +If your mail program does not support calendar information or you are not
6.17 +completely happy with it, imip-agent provides a simple Web-based calendar
6.18 +[[../CalendarManager|management interface]] showing your schedule. Information
6.19 +on this facility should be provided in messages sent by the calendar system
6.20 +when events arrive. Otherwise, you can choose to visit the management
6.21 +interface directly.
6.22 +
6.23 +The management interface provides a profile page through which you can change
6.24 +your [[../Preferences|preferences]] for the software. Here, you can change
6.25 +your level of participation in the calendar system and adjust its behaviour.
7.1 --- a/imipweb/profile.py Tue Nov 03 23:55:11 2015 +0100
7.2 +++ b/imipweb/profile.py Tue Nov 03 23:56:13 2015 +0100
7.3 @@ -26,6 +26,9 @@
7.4 "A request handler for the user profile page."
7.5
7.6 # See: imiptools.config, imiptools.profile
7.7 + # NOTE: This could be defined in another format and generated or computed
7.8 + # NOTE: for this class and for the documentation.
7.9 + # See: docs/tools/profile_prefs.sh
7.10
7.11 pref_labels = [
7.12 ("participating" , "Participate in the calendar system"),