File: AgentPrograms

package info (click to toggle)
imip-agent 0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,056 kB
  • sloc: python: 9,888; sh: 4,480; sql: 144; makefile: 8
file content (65 lines) | stat: -rw-r--r-- 3,236 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
= Agent Programs =

A collection of programs are provided to handle messages for different kinds of
mail participants. Currently, the following programs are provided:

|| '''Program'''    || '''Purpose''' ||
|| `imip_person.py` ||<|2> Maintain scheduling information on behalf of people ||
|| `imip_person_outgoing.py` ||
|| `imip_resource.py` || Act as an autonomous [[../Resources|resource]] that can be reserved ||

For people, the role of the agent programs concerned is to construct a schedule
that can be accessed via the [[../CalendarManager|management interface]] and to
maintain a free/busy record for event scheduling purposes.

For resources, the role of the agent program concerned is also to maintain
schedule and free/busy records, but also to act autonomously - that is, without
manual intervention - and to respond to event invitations or booking requests
according to policies defined in the [[../Configuration|configuration]] of the
system.

== Program Invocation ==

Since imip-agent is concerned with the integration of calendaring with e-mail,
these programs are typically invoked by the [[../MailIntegration|mail system]],
although they may be invoked directly for [[../Testing|testing]] and other
purposes. Various options may be presented to the programs in order to modify
their behaviour, and these are summarised when the `--help` option is given.
For example:

{{{
imip_person.py --help
}}}

The [[../MailIntegration|mail configuration guide]] references configuration
files that include example invocations of these programs. Generally, few
options need to be specified, and as a result the programs will acquire their
configuration from the installed [[../Configuration|configuration files]].

One exception is the `imip_person.py` program that needs to be told whether
it will deliver messages using [[../MailIntegration/LMTP|LMTP]] with the `-l`
option or using [[../MailIntegration/LocalSMTP|SMTP]] with the `-L` option.
See the [[../MailIntegration/Transports|transports documentation]] for more
information.

== Program Responsibilities ==

The person agent programs or "handlers", `imip_person.py` and
`imip_person_outgoing.py` are responsible for keeping the schedule of each
participating calendar user up to date with the requests that are sent and
received by that user. Their roles are limited to recording data along with
a small amount of automation: they can be [[../Preferences|configured]] to
reply to free/busy requests without requesting any intervention on the part
of the user receiving such requests.

Such handlers may be enhanced to perform more tasks autonomously, so that
certain requests might be dealt with automatically, according to policies
defined by each user. See the [[../UseCases|use-cases guide]] for some
potentially-implementable ideas.

Meanwhile, the resource handler, `imip_resource.py`, is responsible not only
for maintaining a schedule for a [[../Resources|resource]], but it must also
make scheduling decisions itself without human involvement. How it may behave
is determined by a number of policies set in the [[../Preferences|preferences]]
so that, for example, it may suggest alternative event periods when those
requested in an invitation are unavailable.