imip-agent

docs/wiki/FrontPage

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