File: FrontPage

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 (179 lines) | stat: -rw-r--r-- 6,861 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
= imip-agent =

{{{#!table
[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||
[[#Deployment|Deployment]] || [[#Usage|Usage]] ||
[[#Development|Development]] ||
[[/CalendaringSupport|Support for Standards]]
}}}

imip-agent is an extension for existing mail systems (such as
[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]])
providing extra support for calendaring and scheduling.

 * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]],
 [[https://tools.ietf.org/html/rfc5546|iTIP]] and
 [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards.

 * It can inspect messages containing calendar objects and extract
 availability information for sharing and publication. You and your users
 decide exactly which kind of messages it will inspect, whose messages it
 will inspect, and for whom no inspection or sharing will occur at all.

 * It can provide a [[/CalendarManager|Web-based interface]] to calendar
 information for users who cannot or choose not to use
 [[/MailClients|mail software]] with calendaring support. This is optional
 and your users can choose to adjust, ignore or disable this functionality.

 * It supports autonomous entities such as meeting rooms and [[/Resources|resources]],
 automatically accepting or declining invitations according to their schedules.
 You can adjust this behaviour to implement your own policies.

 * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]],
 giving you the freedom to see what the software does, as well as the freedom
 to modify and share the software with others.

{{{#!graphviz
//format=svg
//transform=notugly
digraph architecture {
  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"];
  edge [tooltip="The imip-agent architecture"];
  rankdir=LR;

  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
  MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];

  subgraph {
    rank=same;
    agent [label="imip-agent",style=filled,fillcolor=gold];
    scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
    freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
    manager [label="imip-manager",style=filled,fillcolor=gold];
  }

  mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
  webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
  client [label="Mail clients"];
  browser [label="Web browsers"];

  mail -> MTA -> agent -> mailbox -> client;
  agent -> scheduling -> freebusy -> webserver -> client;
  freebusy -> manager;
  manager -> webserver [penwidth="3.0"];
  webserver -> browser [penwidth="3.0"];
  scheduling -> MTA -> mail [style=dashed];
}
}}}

Unlike some monolithic groupware solutions...

 * It does not require you to change your [[/MailIntegration|mail delivery]]
 software or your [[/MailboxIntegration|mail storage]] software (subject to
 existing support provided by imip-agent; support for other software can
 always be added).

 * It does not require your users to change their [[/MailClients|mail client]]
 software.

 * It does not insist that everybody must store their schedules on a single
 server in order to collaboratively schedule events.

 * Instead, imip-agent takes advantage of the decentralized nature of the
 iCalendar and iMIP Internet standards.

 * It allows people in your organisation to collaborate with people outside
 your organisation without insisting that they join your infrastructure or
 that everybody join some cloud service that keeps everyone's information
 within a single, typically proprietary, remote service (that may also be
 potentially vulnerable to intrusion and surveillance).

The role of imip-agent is to bridge the gap between plain e-mail and
"full-stack" groupware solutions, thus allowing organisations and individuals
to augment their existing infrastructure instead of being compelled to perform
costly and unnecessary migrations and infrastructure transformations.

== Adding Calendaring to E-Mail ==

With just an e-mail system, users can already create and schedule calendar
events using any mail or groupware client software that supports calendars and
that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and
[[http://tools.ietf.org/html/rfc6047|iMIP]].

Starting with an e-mail system, imip-agent can be used to add further support
for calendaring:

{{{#!table
'''Requirement''' || '''Solution'''
==
Your users probably want to know when other people are available and when they
are busy.
||
Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail
programs do not, so imip-agent will gather information about events and
[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond
to any iMIP requests for free/busy information via mail.
==
Organisations may want to coordinate access to resources using calendaring.
||
Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can
respond to event invitations, allowing users to book resources and to see
published availability information for those resources.
==
Some users may not be using mail programs that understand calendars and
events.
||
Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let
them respond to invitations and to create and schedule their own events.
}}}

According to your requirements, any or all of the above solutions can be
implemented, providing as much of a groupware solution as you need.

<<Anchor(Deployment)>>
== Deploying the Software ==

Initial activities:

 * [[/Downloads|Downloads]]
 * [[/GettingStarted|Getting Started]]

References:

 * [[/Administration|Administering imip-agent]]
 * [[/Changelog|Changelog]]
 * [[/Configuration|Configuration]] and [[/Preferences|Preferences]]
 * [[/CalendarManager|Calendar Management Interface]]
 * [[/FreeBusyPublishing|Free/Busy Publishing]]

<<Anchor(Usage)>>
== Using the Software ==

 * [[/Usage|Using imip-agent]]

<<Anchor(Development)>>
== Development ==

Some topics related to development:

 * [[/Developing|Developing imip-agent]]
 * [[/FuturePlans|Future Plans]]

Details of the mechanisms employed by imip-agent are described in the
following documents:

 * [[/AgentPrograms|Agent Programs]]
 * [[/CalendaringSupport|Calendaring Support]]
 * [[/CounterProposals|Counter-Proposals and Offers]]
 * [[/CronIntegration|Cron Task Scheduler Integration]]
 * [[/DataStore|Data Store]]
 * [[/EventRecurrences|Event Recurrences]]
 * [[/FilesystemUsage|Filesystem Usage]]
 * [[/IncomingMessages|Incoming Messages]]
 * [[/OutgoingMessages|Outgoing Messages]]
 * [[/MailIntegration|Mail Integration]]
 * [[/MailboxIntegration|Mailbox Integration]]
 * [[/Resources|Resources]]
 * [[/Testing|Testing]]
 * [[/UseCases|Use Cases]]
 * [[/WebServerIntegration|Web Server Integration]]