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 ######## A diagram showing a summary of the imip-agent architecture. 37 38 {{{#!graphviz 39 //format=svg 40 //transform=notugly 41 digraph architecture { 42 node [shape=box,fontsize="13.0",fontname="sans-serif",tooltip="The imip-agent architecture"]; 43 edge [tooltip="The imip-agent architecture"]; 44 rankdir=LR; 45 46 mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan, 47 href="IncomingMessages"]; 48 MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA",href="MailIntegration"]; 49 50 subgraph { 51 rank=same; 52 agent [label="imip-agent",style=filled,fillcolor=gold,href="AgentPrograms"]; 53 scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold]; 54 freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold, 55 href="FreeBusyPublishing"]; 56 manager [label="imip-manager",style=filled,fillcolor=gold, 57 href="CalendarManager"]; 58 } 59 60 mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes", 61 href="MailboxIntegration"]; 62 webserver [label="Web server\n(Apache, ...)",tooltip="Web server", 63 href="WebServerIntegration"]; 64 client [label="Mail clients",href="MailClients"]; 65 browser [label="Web browsers"]; 66 67 mail -> MTA -> agent -> mailbox -> client; 68 agent -> scheduling -> freebusy -> webserver -> client; 69 freebusy -> manager; 70 manager -> webserver [penwidth="3.0"]; 71 webserver -> browser [penwidth="3.0"]; 72 scheduling -> MTA -> mail [style=dashed]; 73 } 74 }}} 75 76 ######## 77 78 Unlike some monolithic groupware solutions... 79 80 * It does not require you to change your [[/MailIntegration|mail delivery]] 81 software or your [[/MailboxIntegration|mail storage]] software (subject to 82 existing support provided by imip-agent; support for other software can 83 always be added). 84 85 * It does not require your users to change their [[/MailClients|mail client]] 86 software. 87 88 * It does not insist that everybody must store their schedules on a single 89 server in order to collaboratively schedule events. 90 91 * Instead, imip-agent takes advantage of the decentralized nature of the 92 iCalendar and iMIP Internet standards. 93 94 * It allows people in your organisation to collaborate with people outside 95 your organisation without insisting that they join your infrastructure or 96 that everybody join some cloud service that keeps everyone's information 97 within a single, typically proprietary, remote service (that may also be 98 potentially vulnerable to intrusion and surveillance). 99 100 The role of imip-agent is to bridge the gap between plain e-mail and 101 "full-stack" groupware solutions, thus allowing organisations and individuals 102 to augment their existing infrastructure instead of being compelled to perform 103 costly and unnecessary migrations and infrastructure transformations. 104 105 == Adding Calendaring to E-Mail == 106 107 With just an e-mail system, users can already create and schedule calendar 108 events using any mail or groupware client software that supports calendars and 109 that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and 110 [[http://tools.ietf.org/html/rfc6047|iMIP]]. 111 112 Starting with an e-mail system, imip-agent can be used to add further support 113 for calendaring: 114 115 {{{#!table 116 '''Requirement''' || '''Solution''' 117 == 118 Your users probably want to know when other people are available and when they 119 are busy. 120 || 121 Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail 122 programs do not, so imip-agent will gather information about events and 123 [[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond 124 to any iMIP requests for free/busy information via mail. 125 == 126 Organisations may want to coordinate access to resources using calendaring. 127 || 128 Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can 129 respond to event invitations, allowing users to book resources and to see 130 published availability information for those resources. 131 == 132 Some users may not be using mail programs that understand calendars and 133 events. 134 || 135 Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let 136 them respond to invitations and to create and schedule their own events. 137 }}} 138 139 According to your requirements, any or all of the above solutions can be 140 implemented, providing as much of a groupware solution as you need. 141 142 <<Anchor(Deployment)>> 143 == Deploying the Software == 144 145 Initial activities: 146 147 * [[/Downloads|Downloads]] 148 * [[/GettingStarted|Getting Started]] 149 150 References: 151 152 * [[/Administration|Administering imip-agent]] 153 * [[/Changelog|Changelog]] 154 * [[/Configuration|Configuration]] and [[/Preferences|Preferences]] 155 * [[/CalendarManager|Calendar Management Interface]] 156 * [[/FreeBusyPublishing|Free/Busy Publishing]] 157 158 <<Anchor(Usage)>> 159 == Using the Software == 160 161 * [[/Usage|Using imip-agent]] 162 163 <<Anchor(Development)>> 164 == Development == 165 166 Some topics related to development: 167 168 * [[/Developing|Developing imip-agent]] 169 * [[/FuturePlans|Future Plans]] 170 171 Details of the mechanisms employed by imip-agent are described in the 172 following documents: 173 174 * [[/AgentPrograms|Agent Programs]] 175 * [[/CalendaringSupport|Calendaring Support]] 176 * [[/CounterProposals|Counter-Proposals and Offers]] 177 * [[/CronIntegration|Cron Task Scheduler Integration]] 178 * [[/DataStore|Data Store]] 179 * [[/EventRecurrences|Event Recurrences]] 180 * [[/FilesystemUsage|Filesystem Usage]] 181 * [[/IncomingMessages|Incoming Messages]] 182 * [[/OutgoingMessages|Outgoing Messages]] 183 * [[/MailIntegration|Mail Integration]] 184 * [[/MailboxIntegration|Mailbox Integration]] 185 * [[/Resources|Resources]] 186 * [[/Testing|Testing]] 187 * [[/UseCases|Use Cases]] 188 * [[/WebServerIntegration|Web Server Integration]]