imip-agent

docs/wiki/FrontPage

994:4f54b5b465ca
2015-11-03 Paul Boddie Renamed Usage to Administration, updated the logo, added more information about the agent programs and resource initialisation.
     1 = imip-agent =     2      3 {{{#!table     4 [[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||     5 [[#Deployment|Deployment]] || [[#Notes|Design/Implementation Notes]] ||     6 [[/CalendaringSupport|Support for Standards]]     7 }}}     8      9 imip-agent is an extension for existing mail systems (such as    10 [[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]])    11 providing extra support for calendaring and scheduling.    12     13  * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]],    14  [[https://tools.ietf.org/html/rfc5546|iTIP]] and    15  [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards.    16     17  * It can inspect messages containing calendar objects and extract    18  availability information for sharing and publication. You and your users    19  decide exactly which kind of messages it will inspect, whose messages it    20  will inspect, and for whom no inspection or sharing will occur at all.    21     22  * It can provide a [[/CalendarManager|Web-based interface]] to calendar    23  information for users who cannot or choose not to use    24  [[/MailClients|mail software]] with calendaring support. This is optional    25  and your users can choose to adjust, ignore or disable this functionality.    26     27  * It supports autonomous entities such as meeting rooms and resources,    28  automatically accepting or declining invitations according to their    29  schedules. You can adjust this behaviour to implement your own policies.    30     31  * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]],    32  giving you the freedom to see what the software does, as well as the freedom    33  to modify and share the software with others.    34     35 {{{#!graphviz    36 //format=svg    37 //transform=notugly    38 digraph architecture {    39   node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="The imip-agent architecture"];    40   edge [tooltip="The imip-agent architecture"];    41   rankdir=LR;    42     43   mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];    44   MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];    45     46   subgraph {    47     rank=same;    48     agent [label="imip-agent",style=filled,fillcolor=gold];    49     scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];    50     freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];    51     manager [label="imip-manager",style=filled,fillcolor=gold];    52   }    53     54   mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];    55   webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];    56   client [label="Mail clients"];    57   browser [label="Web browsers"];    58     59   mail -> MTA -> agent -> mailbox -> client;    60   agent -> scheduling -> freebusy -> webserver -> client;    61   freebusy -> manager;    62   manager -> webserver [penwidth="3.0"];    63   webserver -> browser [penwidth="3.0"];    64   scheduling -> MTA -> mail [style=dashed];    65 }    66 }}}    67     68 Unlike some monolithic groupware solutions...    69     70  * It does not require you to change your [[/MailIntegration|mail delivery]]    71  software or your [[/MailboxIntegration|mail storage]] software (subject to    72  existing support provided by imip-agent; support for other software can    73  always be added).    74     75  * It does not require your users to change their [[/MailClients|mail client]]    76  software.    77     78  * It does not insist that everybody must store their schedules on a single    79  server in order to collaboratively schedule events.    80     81  * Instead, imip-agent takes advantage of the decentralized nature of the    82  iCalendar and iMIP Internet standards.    83     84  * It allows people in your organisation to collaborate with people outside    85  your organisation without insisting that they join your infrastructure or    86  that everybody join some cloud service that keeps everyone's information    87  within a single, typically proprietary, remote service (that may also be    88  potentially vulnerable to intrusion and surveillance).    89     90 The role of imip-agent is to bridge the gap between plain e-mail and    91 "full-stack" groupware solutions, thus allowing organisations and individuals    92 to augment their existing infrastructure instead of being compelled to perform    93 costly and unnecessary migrations and infrastructure transformations.    94     95 == Adding Calendaring to E-Mail ==    96     97 With just an e-mail system, users can already create and schedule calendar    98 events using any mail or groupware client software that supports calendars and    99 that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and   100 [[http://tools.ietf.org/html/rfc6047|iMIP]].   101    102 Starting with an e-mail system, imip-agent can be used to add further support   103 for calendaring:   104    105 {{{#!table   106 '''Requirement''' || '''Solution'''   107 ==   108 Your users probably want to know when other people are available and when they   109 are busy.   110 ||   111 Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail   112 programs do not, so imip-agent will gather information about events and   113 [[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond   114 to any iMIP requests for free/busy information via mail.   115 ==   116 Organisations may want to coordinate access to resources using calendaring.   117 ||   118 Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can   119 respond to event invitations, allowing users to book resources and to see   120 published availability information for those resources.   121 ==   122 Some users may not be using mail programs that understand calendars and   123 events.   124 ||   125 Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let   126 them respond to invitations and to create and schedule their own events.   127 }}}   128    129 According to your requirements, any or all of the above solutions can be   130 implemented, providing as much of a groupware solution as you need.   131    132 <<Anchor(Deployment)>>   133 == Deploying the Software ==   134    135 Initial activities:   136    137  * [[/Downloads|Downloads]]   138  * [[/GettingStarted|Getting Started]]   139    140 References:   141    142  * [[/Administration|Administering imip-agent]]   143  * [[/Configuration|Configuration]] and [[/Preferences|Preferences]]   144  * [[/CalendarManager|Calendar Management Interface]]   145  * [[/FreeBusyPublishing|Free/Busy Publishing]]   146    147 <<Anchor(Notes)>>   148 == Design and Implementation Notes ==   149    150 Details of the mechanisms employed by imip-agent are described in the   151 following documents:   152    153  * [[/AgentPrograms|Agent Programs]]   154  * [[/CalendaringSupport|Calendaring Support]]   155  * [[/CounterProposals|Counter-Proposals and Offers]]   156  * [[/CronIntegration|Cron Task Scheduler Integration]]   157  * [[/EventRecurrences|Event Recurrences]]   158  * [[/FilesystemUsage|Filesystem Usage]]   159  * [[/IncomingMessages|Incoming Messages]]   160  * [[/OutgoingMessages|Outgoing Messages]]   161  * [[/MailIntegration|Mail Integration]]   162  * [[/MailboxIntegration|Mailbox Integration]]   163  * [[/Testing|Testing]]   164  * [[/UseCases|Use Cases]]   165  * [[/WebServerIntegration|Web Server Integration]]