imip-agent

Annotated docs/wiki/CalendarManager

1053:068aa85f0c45
2016-02-08 Paul Boddie Made the retraction operation a complete transaction. Tidied up the locking and unlocking function application.
paul@961 1
= Calendar Management Interface =
paul@961 2
paul@961 3
Since some users of the calendar system may not have a calendar program or a
paul@961 4
mail program that understands calendar data, a Web-based interface is provided
paul@961 5
that allows such users to inspect incoming calendar data, consult a schedule
paul@961 6
that has been prepared through the work of the [[../AgentPrograms|agent programs]],
paul@961 7
and to create events to be shared with others.
paul@988 8
paul@988 9
The management interface is deployed according to the
paul@999 10
[[../WebServerIntegration|Web server integration guide]] and, if enabled, will be
paul@988 11
advertised in messages sent by imip-agent to users receiving calendar-related
paul@988 12
messages, with links being provided like this (subject to the configuration):
paul@988 13
paul@988 14
{{{
paul@988 15
https://webserver.example.com/imip-manager/eventid
paul@988 16
}}}
paul@988 17
paul@988 18
Upon following such a link, users should be asked to log in. They should then be
paul@988 19
presented with the details of an event received via e-mail.
paul@999 20
paul@999 21
== The Calendar View ==
paul@999 22
paul@999 23
The root resource of the management interface shows a simple calendar view for
paul@999 24
the logged-in user. The following elements are displayed:
paul@999 25
paul@999 26
 * The name of the user, linking to a profile page
paul@999 27
paul@999 28
 * Any requests/invitations that require attention, linking to those items in the
paul@999 29
 calendar
paul@999 30
paul@999 31
 * The period being shown, along with controls to navigate forwards and backwards
paul@999 32
 in the calendar, and controls to show and hide empty days and busy periods
paul@999 33
paul@999 34
 * Participants for scheduling: details of other users whose schedules are shown
paul@999 35
 alongside the user's own schedule
paul@999 36
paul@999 37
 * The calendar itself, featuring events, and possibly featuring a column
paul@999 38
 containing requests and invitations
paul@999 39
paul@1014 40
=== Group Scheduling ===
paul@1014 41
paul@999 42
Adding scheduling participants, specifying their e-mail address, results in a new
paul@999 43
schedule column being added for each new participant in the calendar. When creating
paul@999 44
an event, all scheduling participants are automatically added as attendees.
paul@999 45
paul@1014 46
=== Hiding and Showing Days ===
paul@1014 47
paul@999 48
The calendar is divided into days, and these are divided into periods depending on
paul@999 49
the nature of any events that feature in the calendar. Days for which no events are
paul@999 50
recorded are hidden by default; such days can be shown if desired.
paul@999 51
paul@1014 52
=== Selecting Periods and Creating Events ===
paul@1014 53
paul@999 54
Whole days can be chosen by selecting day headings in the calendar. Similarly,
paul@999 55
individual periods can be chosen either by selecting period headings along the side
paul@999 56
of the calendar or by selecting cells in the calendar. Upon selecting periods,
paul@999 57
controls will appear for the creation of a new event, and if all periods are
paul@999 58
deselected, such controls will disappear.
paul@999 59
paul@1014 60
=== Event Periods ===
paul@1014 61
paul@999 62
Events appear in the calendar as filled regions, and their labels correspond to the
paul@999 63
summary information defined for each event. These labels link to the event details
paul@999 64
unless a request has updated the event: in which case, the request label will link
paul@999 65
to the updated event details.
paul@999 66
paul@1014 67
=== Requests and Invitations ===
paul@1014 68
paul@999 69
Requests/invitations appear alongside events in a separate column in the calendar,
paul@999 70
and their label links to the details of the request (and thus updated event). Such
paul@999 71
items disappear from the calendar once processed by the user.
paul@999 72
paul@999 73
== The User Profile ==
paul@999 74
paul@999 75
Each user's profile details are presented in a table mostly corresponding to the
paul@999 76
system's [[../Preferences|preferences]], with the most significant settings given
paul@999 77
first. Many users will probably only want to change their participation in the
paul@999 78
calendar system, their name, language or time zone, at least if the defaults
paul@999 79
chosen for deployment are reasonable.
paul@999 80
paul@999 81
The settings names correspond to the preferences as follows:
paul@999 82
paul@999 83
## This is generated by the docs/tools/profile_prefs.sh script...
paul@999 84
paul@999 85
|| '''Label''' || '''Setting''' ||
paul@999 86
|| Participate in the calendar system || [[../Preferences#participating|participating]] ||
paul@999 87
|| Your common name || [[../Preferences#CN|CN]] ||
paul@999 88
|| Language || [[../Preferences#LANG|LANG]] ||
paul@999 89
|| Time zone/regime || [[../Preferences#TZID|TZID]] ||
paul@999 90
|| How to present incoming calendar messages || [[../Preferences#incoming|incoming]] ||
paul@999 91
|| Share free/busy information || [[../Preferences#freebusy_sharing|freebusy_sharing]] ||
paul@999 92
|| Bundle free/busy details with messages || [[../Preferences#freebusy_bundling|freebusy_bundling]] ||
paul@999 93
|| Publish free/busy details via the Web || [[../Preferences#freebusy_publishing|freebusy_publishing]] ||
paul@999 94
|| Deliver details of received free/busy messages || [[../Preferences#freebusy_messages|freebusy_messages]] ||
paul@999 95
|| How to respond to messages adding events || [[../Preferences#add_method_response|add_method_response]] ||
paul@999 96
|| How to handle event refresh requests || [[../Preferences#event_refreshing|event_refreshing]] ||
paul@999 97
|| Recognise whom as a new organiser of an event? || [[../Preferences#organiser_replacement|organiser_replacement]] ||
paul@999 98
paul@999 99
== The Event View ==
paul@999 100
paul@999 101
The event view consists of the following elements:
paul@999 102
paul@999 103
 * Basic event details: summary, start and end dates/times, and the organiser
paul@999 104
paul@999 105
 * A list of attendees with controls to add and remove attendees, depending on
paul@999 106
 the role of the user
paul@999 107
paul@999 108
 * Some controls to change or process the event
paul@999 109
paul@999 110
In addition, some other elements may appear in the event view:
paul@999 111
paul@999 112
 * Periods during which the event recurs
paul@999 113
paul@999 114
 * Counter-proposals sent by attendees to the organiser of an event, appearing
paul@999 115
 if the user has the organiser role, with controls to process these items
paul@999 116
paul@999 117
 * Periods that conflict with the event's own periods
paul@1014 118
paul@1014 119
=== Organiser and Attendee Roles ===
paul@1014 120
paul@1014 121
Changes can be made to events in both the organiser and attendee roles. As
paul@1014 122
organiser, any changes will incorporated into the event, and the new version
paul@1014 123
will be sent to attendees on choosing to update the event. As attendee,
paul@1014 124
changes are incorporated into counter-proposals that are sent back to the
paul@1014 125
organiser for approval or rejection.
paul@1014 126
paul@1014 127
=== Editing Event Details ===
paul@1014 128
paul@1014 129
Only organisers can edit the core details of an event. They may add and remove
paul@1014 130
attendees, and they may also add and remove periods associated with the event.
paul@1014 131
paul@1014 132
The removal of existing attendees will not cause such attendees to be
paul@1014 133
instantly deleted from the event details. Instead, such attendees will
paul@1014 134
initially be marked as removed and, after editing is complete, have
paul@1014 135
cancellation messages sent to them informing them that their attendance is no
paul@1014 136
longer required.
paul@1014 137
paul@1014 138
Attendees themselves can suggest other attendees by adding them, and they may
paul@1014 139
also remove those suggested attendees. However, they may not remove existing
paul@1014 140
attendees.
paul@1014 141
paul@1014 142
Attendees can also redefine event periods, but these modifications will merely
paul@1014 143
be sent back to the organiser for review. Any acceptance of such changes will
paul@1014 144
occur if the organiser chooses to send out a revised version of the event
paul@1014 145
featuring those changes. Otherwise, an explicit message declining such changes
paul@1014 146
may be received.