1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/wiki/imip-agent Mon Apr 15 00:13:49 2019 +0200
1.3 @@ -0,0 +1,179 @@
1.4 += imip-agent =
1.5 +
1.6 +{{{#!table
1.7 +[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||
1.8 +[[#Deployment|Deployment]] || [[#Usage|Usage]] ||
1.9 +[[#Development|Development]] ||
1.10 +[[/CalendaringSupport|Support for Standards]]
1.11 +}}}
1.12 +
1.13 +imip-agent is an extension for existing mail systems (such as
1.14 +[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]])
1.15 +providing extra support for calendaring and scheduling.
1.16 +
1.17 + * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]],
1.18 + [[https://tools.ietf.org/html/rfc5546|iTIP]] and
1.19 + [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards.
1.20 +
1.21 + * It can inspect messages containing calendar objects and extract
1.22 + availability information for sharing and publication. You and your users
1.23 + decide exactly which kind of messages it will inspect, whose messages it
1.24 + will inspect, and for whom no inspection or sharing will occur at all.
1.25 +
1.26 + * It can provide a [[/CalendarManager|Web-based interface]] to calendar
1.27 + information for users who cannot or choose not to use
1.28 + [[/MailClients|mail software]] with calendaring support. This is optional
1.29 + and your users can choose to adjust, ignore or disable this functionality.
1.30 +
1.31 + * It supports autonomous entities such as meeting rooms and [[/Resources|resources]],
1.32 + automatically accepting or declining invitations according to their schedules.
1.33 + You can adjust this behaviour to implement your own policies.
1.34 +
1.35 + * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]],
1.36 + giving you the freedom to see what the software does, as well as the freedom
1.37 + to modify and share the software with others.
1.38 +
1.39 +{{{#!graphviz
1.40 +//format=svg
1.41 +//transform=notugly
1.42 +digraph architecture {
1.43 + node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"];
1.44 + edge [tooltip="The imip-agent architecture"];
1.45 + rankdir=LR;
1.46 +
1.47 + mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
1.48 + MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];
1.49 +
1.50 + subgraph {
1.51 + rank=same;
1.52 + agent [label="imip-agent",style=filled,fillcolor=gold];
1.53 + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
1.54 + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
1.55 + manager [label="imip-manager",style=filled,fillcolor=gold];
1.56 + }
1.57 +
1.58 + mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
1.59 + webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
1.60 + client [label="Mail clients"];
1.61 + browser [label="Web browsers"];
1.62 +
1.63 + mail -> MTA -> agent -> mailbox -> client;
1.64 + agent -> scheduling -> freebusy -> webserver -> client;
1.65 + freebusy -> manager;
1.66 + manager -> webserver [penwidth="3.0"];
1.67 + webserver -> browser [penwidth="3.0"];
1.68 + scheduling -> MTA -> mail [style=dashed];
1.69 +}
1.70 +}}}
1.71 +
1.72 +Unlike some monolithic groupware solutions...
1.73 +
1.74 + * It does not require you to change your [[/MailIntegration|mail delivery]]
1.75 + software or your [[/MailboxIntegration|mail storage]] software (subject to
1.76 + existing support provided by imip-agent; support for other software can
1.77 + always be added).
1.78 +
1.79 + * It does not require your users to change their [[/MailClients|mail client]]
1.80 + software.
1.81 +
1.82 + * It does not insist that everybody must store their schedules on a single
1.83 + server in order to collaboratively schedule events.
1.84 +
1.85 + * Instead, imip-agent takes advantage of the decentralized nature of the
1.86 + iCalendar and iMIP Internet standards.
1.87 +
1.88 + * It allows people in your organisation to collaborate with people outside
1.89 + your organisation without insisting that they join your infrastructure or
1.90 + that everybody join some cloud service that keeps everyone's information
1.91 + within a single, typically proprietary, remote service (that may also be
1.92 + potentially vulnerable to intrusion and surveillance).
1.93 +
1.94 +The role of imip-agent is to bridge the gap between plain e-mail and
1.95 +"full-stack" groupware solutions, thus allowing organisations and individuals
1.96 +to augment their existing infrastructure instead of being compelled to perform
1.97 +costly and unnecessary migrations and infrastructure transformations.
1.98 +
1.99 +== Adding Calendaring to E-Mail ==
1.100 +
1.101 +With just an e-mail system, users can already create and schedule calendar
1.102 +events using any mail or groupware client software that supports calendars and
1.103 +that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and
1.104 +[[http://tools.ietf.org/html/rfc6047|iMIP]].
1.105 +
1.106 +Starting with an e-mail system, imip-agent can be used to add further support
1.107 +for calendaring:
1.108 +
1.109 +{{{#!table
1.110 +'''Requirement''' || '''Solution'''
1.111 +==
1.112 +Your users probably want to know when other people are available and when they
1.113 +are busy.
1.114 +||
1.115 +Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail
1.116 +programs do not, so imip-agent will gather information about events and
1.117 +[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond
1.118 +to any iMIP requests for free/busy information via mail.
1.119 +==
1.120 +Organisations may want to coordinate access to resources using calendaring.
1.121 +||
1.122 +Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can
1.123 +respond to event invitations, allowing users to book resources and to see
1.124 +published availability information for those resources.
1.125 +==
1.126 +Some users may not be using mail programs that understand calendars and
1.127 +events.
1.128 +||
1.129 +Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let
1.130 +them respond to invitations and to create and schedule their own events.
1.131 +}}}
1.132 +
1.133 +According to your requirements, any or all of the above solutions can be
1.134 +implemented, providing as much of a groupware solution as you need.
1.135 +
1.136 +<<Anchor(Deployment)>>
1.137 +== Deploying the Software ==
1.138 +
1.139 +Initial activities:
1.140 +
1.141 + * [[/Downloads|Downloads]]
1.142 + * [[/GettingStarted|Getting Started]]
1.143 +
1.144 +References:
1.145 +
1.146 + * [[/Administration|Administering imip-agent]]
1.147 + * [[/Changelog|Changelog]]
1.148 + * [[/Configuration|Configuration]] and [[/Preferences|Preferences]]
1.149 + * [[/CalendarManager|Calendar Management Interface]]
1.150 + * [[/FreeBusyPublishing|Free/Busy Publishing]]
1.151 +
1.152 +<<Anchor(Usage)>>
1.153 +== Using the Software ==
1.154 +
1.155 + * [[/Usage|Using imip-agent]]
1.156 +
1.157 +<<Anchor(Development)>>
1.158 +== Development ==
1.159 +
1.160 +Some topics related to development:
1.161 +
1.162 + * [[/Developing|Developing imip-agent]]
1.163 + * [[/FuturePlans|Future Plans]]
1.164 +
1.165 +Details of the mechanisms employed by imip-agent are described in the
1.166 +following documents:
1.167 +
1.168 + * [[/AgentPrograms|Agent Programs]]
1.169 + * [[/CalendaringSupport|Calendaring Support]]
1.170 + * [[/CounterProposals|Counter-Proposals and Offers]]
1.171 + * [[/CronIntegration|Cron Task Scheduler Integration]]
1.172 + * [[/DataStore|Data Store]]
1.173 + * [[/EventRecurrences|Event Recurrences]]
1.174 + * [[/FilesystemUsage|Filesystem Usage]]
1.175 + * [[/IncomingMessages|Incoming Messages]]
1.176 + * [[/OutgoingMessages|Outgoing Messages]]
1.177 + * [[/MailIntegration|Mail Integration]]
1.178 + * [[/MailboxIntegration|Mailbox Integration]]
1.179 + * [[/Resources|Resources]]
1.180 + * [[/Testing|Testing]]
1.181 + * [[/UseCases|Use Cases]]
1.182 + * [[/WebServerIntegration|Web Server Integration]]