imip-agent

Changeset

1461:4b655c8e7619
2019-04-15 Paul Boddie raw files shortlog changelog graph Renamed FrontPage to imip-agent; added moinconvert script.
docs/tools/make_docs.sh (file) docs/tools/make_pages.sh (file) docs/wiki/FrontPage docs/wiki/imip-agent (file)
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/docs/tools/make_docs.sh	Mon Apr 15 00:13:49 2019 +0200
     1.3 @@ -0,0 +1,30 @@
     1.4 +#!/bin/sh
     1.5 +
     1.6 +THISDIR=`dirname "$0"`
     1.7 +INDIR="$THISDIR/../wiki"
     1.8 +OUTDIR="$THISDIR/../html"
     1.9 +
    1.10 +ROOT="imip-agent"
    1.11 +
    1.12 +MAPPING='--mapping WikiPedia https://en.wikipedia.org/wiki/'
    1.13 +THEME='--theme mercurial'
    1.14 +
    1.15 +if [ "$1" = '--web' ] ; then
    1.16 +    DOCINDEX=
    1.17 +    shift 1
    1.18 +else
    1.19 +    DOCINDEX='--document-index index.html'
    1.20 +fi
    1.21 +
    1.22 +FILENAMES=${*:-'--all'}
    1.23 +
    1.24 +moinconvert --input-dir "$INDIR" \
    1.25 +            --input-page-sep '--' \
    1.26 +            --output-dir "$OUTDIR" \
    1.27 +            --root "$ROOT" \
    1.28 +            --format html \
    1.29 +            --macros \
    1.30 +            $DOCINDEX \
    1.31 +            $MAPPING \
    1.32 +            $THEME \
    1.33 +            $FILENAMES
     2.1 --- a/docs/tools/make_pages.sh	Fri Nov 24 17:24:23 2017 +0100
     2.2 +++ b/docs/tools/make_pages.sh	Mon Apr 15 00:13:49 2019 +0200
     2.3 @@ -56,7 +56,7 @@
     2.4      BASENAME=`basename "$FILENAME"`
     2.5      PAGENAME=`echo "$BASENAME" | sed 's/--/\//g'`
     2.6      if [ "$PREFIX" ]; then
     2.7 -        if [ "$PAGENAME" = "FrontPage" ]; then
     2.8 +        if [ "$PAGENAME" = "imip-agent" ]; then
     2.9              PAGENAME="$PREFIX"
    2.10          else
    2.11              PAGENAME="$PREFIX/$PAGENAME"
     3.1 --- a/docs/wiki/FrontPage	Fri Nov 24 17:24:23 2017 +0100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,179 +0,0 @@
     3.4 -= imip-agent =
     3.5 -
     3.6 -{{{#!table
     3.7 -[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||
     3.8 -[[#Deployment|Deployment]] || [[#Usage|Usage]] ||
     3.9 -[[#Development|Development]] ||
    3.10 -[[/CalendaringSupport|Support for Standards]]
    3.11 -}}}
    3.12 -
    3.13 -imip-agent is an extension for existing mail systems (such as
    3.14 -[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]])
    3.15 -providing extra support for calendaring and scheduling.
    3.16 -
    3.17 - * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]],
    3.18 - [[https://tools.ietf.org/html/rfc5546|iTIP]] and
    3.19 - [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards.
    3.20 -
    3.21 - * It can inspect messages containing calendar objects and extract
    3.22 - availability information for sharing and publication. You and your users
    3.23 - decide exactly which kind of messages it will inspect, whose messages it
    3.24 - will inspect, and for whom no inspection or sharing will occur at all.
    3.25 -
    3.26 - * It can provide a [[/CalendarManager|Web-based interface]] to calendar
    3.27 - information for users who cannot or choose not to use
    3.28 - [[/MailClients|mail software]] with calendaring support. This is optional
    3.29 - and your users can choose to adjust, ignore or disable this functionality.
    3.30 -
    3.31 - * It supports autonomous entities such as meeting rooms and [[/Resources|resources]],
    3.32 - automatically accepting or declining invitations according to their schedules.
    3.33 - You can adjust this behaviour to implement your own policies.
    3.34 -
    3.35 - * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]],
    3.36 - giving you the freedom to see what the software does, as well as the freedom
    3.37 - to modify and share the software with others.
    3.38 -
    3.39 -{{{#!graphviz
    3.40 -//format=svg
    3.41 -//transform=notugly
    3.42 -digraph architecture {
    3.43 -  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"];
    3.44 -  edge [tooltip="The imip-agent architecture"];
    3.45 -  rankdir=LR;
    3.46 -
    3.47 -  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
    3.48 -  MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];
    3.49 -
    3.50 -  subgraph {
    3.51 -    rank=same;
    3.52 -    agent [label="imip-agent",style=filled,fillcolor=gold];
    3.53 -    scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
    3.54 -    freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
    3.55 -    manager [label="imip-manager",style=filled,fillcolor=gold];
    3.56 -  }
    3.57 -
    3.58 -  mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
    3.59 -  webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
    3.60 -  client [label="Mail clients"];
    3.61 -  browser [label="Web browsers"];
    3.62 -
    3.63 -  mail -> MTA -> agent -> mailbox -> client;
    3.64 -  agent -> scheduling -> freebusy -> webserver -> client;
    3.65 -  freebusy -> manager;
    3.66 -  manager -> webserver [penwidth="3.0"];
    3.67 -  webserver -> browser [penwidth="3.0"];
    3.68 -  scheduling -> MTA -> mail [style=dashed];
    3.69 -}
    3.70 -}}}
    3.71 -
    3.72 -Unlike some monolithic groupware solutions...
    3.73 -
    3.74 - * It does not require you to change your [[/MailIntegration|mail delivery]]
    3.75 - software or your [[/MailboxIntegration|mail storage]] software (subject to
    3.76 - existing support provided by imip-agent; support for other software can
    3.77 - always be added).
    3.78 -
    3.79 - * It does not require your users to change their [[/MailClients|mail client]]
    3.80 - software.
    3.81 -
    3.82 - * It does not insist that everybody must store their schedules on a single
    3.83 - server in order to collaboratively schedule events.
    3.84 -
    3.85 - * Instead, imip-agent takes advantage of the decentralized nature of the
    3.86 - iCalendar and iMIP Internet standards.
    3.87 -
    3.88 - * It allows people in your organisation to collaborate with people outside
    3.89 - your organisation without insisting that they join your infrastructure or
    3.90 - that everybody join some cloud service that keeps everyone's information
    3.91 - within a single, typically proprietary, remote service (that may also be
    3.92 - potentially vulnerable to intrusion and surveillance).
    3.93 -
    3.94 -The role of imip-agent is to bridge the gap between plain e-mail and
    3.95 -"full-stack" groupware solutions, thus allowing organisations and individuals
    3.96 -to augment their existing infrastructure instead of being compelled to perform
    3.97 -costly and unnecessary migrations and infrastructure transformations.
    3.98 -
    3.99 -== Adding Calendaring to E-Mail ==
   3.100 -
   3.101 -With just an e-mail system, users can already create and schedule calendar
   3.102 -events using any mail or groupware client software that supports calendars and
   3.103 -that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and
   3.104 -[[http://tools.ietf.org/html/rfc6047|iMIP]].
   3.105 -
   3.106 -Starting with an e-mail system, imip-agent can be used to add further support
   3.107 -for calendaring:
   3.108 -
   3.109 -{{{#!table
   3.110 -'''Requirement''' || '''Solution'''
   3.111 -==
   3.112 -Your users probably want to know when other people are available and when they
   3.113 -are busy.
   3.114 -||
   3.115 -Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail
   3.116 -programs do not, so imip-agent will gather information about events and
   3.117 -[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond
   3.118 -to any iMIP requests for free/busy information via mail.
   3.119 -==
   3.120 -Organisations may want to coordinate access to resources using calendaring.
   3.121 -||
   3.122 -Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can
   3.123 -respond to event invitations, allowing users to book resources and to see
   3.124 -published availability information for those resources.
   3.125 -==
   3.126 -Some users may not be using mail programs that understand calendars and
   3.127 -events.
   3.128 -||
   3.129 -Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let
   3.130 -them respond to invitations and to create and schedule their own events.
   3.131 -}}}
   3.132 -
   3.133 -According to your requirements, any or all of the above solutions can be
   3.134 -implemented, providing as much of a groupware solution as you need.
   3.135 -
   3.136 -<<Anchor(Deployment)>>
   3.137 -== Deploying the Software ==
   3.138 -
   3.139 -Initial activities:
   3.140 -
   3.141 - * [[/Downloads|Downloads]]
   3.142 - * [[/GettingStarted|Getting Started]]
   3.143 -
   3.144 -References:
   3.145 -
   3.146 - * [[/Administration|Administering imip-agent]]
   3.147 - * [[/Changelog|Changelog]]
   3.148 - * [[/Configuration|Configuration]] and [[/Preferences|Preferences]]
   3.149 - * [[/CalendarManager|Calendar Management Interface]]
   3.150 - * [[/FreeBusyPublishing|Free/Busy Publishing]]
   3.151 -
   3.152 -<<Anchor(Usage)>>
   3.153 -== Using the Software ==
   3.154 -
   3.155 - * [[/Usage|Using imip-agent]]
   3.156 -
   3.157 -<<Anchor(Development)>>
   3.158 -== Development ==
   3.159 -
   3.160 -Some topics related to development:
   3.161 -
   3.162 - * [[/Developing|Developing imip-agent]]
   3.163 - * [[/FuturePlans|Future Plans]]
   3.164 -
   3.165 -Details of the mechanisms employed by imip-agent are described in the
   3.166 -following documents:
   3.167 -
   3.168 - * [[/AgentPrograms|Agent Programs]]
   3.169 - * [[/CalendaringSupport|Calendaring Support]]
   3.170 - * [[/CounterProposals|Counter-Proposals and Offers]]
   3.171 - * [[/CronIntegration|Cron Task Scheduler Integration]]
   3.172 - * [[/DataStore|Data Store]]
   3.173 - * [[/EventRecurrences|Event Recurrences]]
   3.174 - * [[/FilesystemUsage|Filesystem Usage]]
   3.175 - * [[/IncomingMessages|Incoming Messages]]
   3.176 - * [[/OutgoingMessages|Outgoing Messages]]
   3.177 - * [[/MailIntegration|Mail Integration]]
   3.178 - * [[/MailboxIntegration|Mailbox Integration]]
   3.179 - * [[/Resources|Resources]]
   3.180 - * [[/Testing|Testing]]
   3.181 - * [[/UseCases|Use Cases]]
   3.182 - * [[/WebServerIntegration|Web Server Integration]]
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/docs/wiki/imip-agent	Mon Apr 15 00:13:49 2019 +0200
     4.3 @@ -0,0 +1,179 @@
     4.4 += imip-agent =
     4.5 +
     4.6 +{{{#!table
     4.7 +[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] ||
     4.8 +[[#Deployment|Deployment]] || [[#Usage|Usage]] ||
     4.9 +[[#Development|Development]] ||
    4.10 +[[/CalendaringSupport|Support for Standards]]
    4.11 +}}}
    4.12 +
    4.13 +imip-agent is an extension for existing mail systems (such as
    4.14 +[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]])
    4.15 +providing extra support for calendaring and scheduling.
    4.16 +
    4.17 + * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]],
    4.18 + [[https://tools.ietf.org/html/rfc5546|iTIP]] and
    4.19 + [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards.
    4.20 +
    4.21 + * It can inspect messages containing calendar objects and extract
    4.22 + availability information for sharing and publication. You and your users
    4.23 + decide exactly which kind of messages it will inspect, whose messages it
    4.24 + will inspect, and for whom no inspection or sharing will occur at all.
    4.25 +
    4.26 + * It can provide a [[/CalendarManager|Web-based interface]] to calendar
    4.27 + information for users who cannot or choose not to use
    4.28 + [[/MailClients|mail software]] with calendaring support. This is optional
    4.29 + and your users can choose to adjust, ignore or disable this functionality.
    4.30 +
    4.31 + * It supports autonomous entities such as meeting rooms and [[/Resources|resources]],
    4.32 + automatically accepting or declining invitations according to their schedules.
    4.33 + You can adjust this behaviour to implement your own policies.
    4.34 +
    4.35 + * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]],
    4.36 + giving you the freedom to see what the software does, as well as the freedom
    4.37 + to modify and share the software with others.
    4.38 +
    4.39 +{{{#!graphviz
    4.40 +//format=svg
    4.41 +//transform=notugly
    4.42 +digraph architecture {
    4.43 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"];
    4.44 +  edge [tooltip="The imip-agent architecture"];
    4.45 +  rankdir=LR;
    4.46 +
    4.47 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
    4.48 +  MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];
    4.49 +
    4.50 +  subgraph {
    4.51 +    rank=same;
    4.52 +    agent [label="imip-agent",style=filled,fillcolor=gold];
    4.53 +    scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
    4.54 +    freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
    4.55 +    manager [label="imip-manager",style=filled,fillcolor=gold];
    4.56 +  }
    4.57 +
    4.58 +  mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
    4.59 +  webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
    4.60 +  client [label="Mail clients"];
    4.61 +  browser [label="Web browsers"];
    4.62 +
    4.63 +  mail -> MTA -> agent -> mailbox -> client;
    4.64 +  agent -> scheduling -> freebusy -> webserver -> client;
    4.65 +  freebusy -> manager;
    4.66 +  manager -> webserver [penwidth="3.0"];
    4.67 +  webserver -> browser [penwidth="3.0"];
    4.68 +  scheduling -> MTA -> mail [style=dashed];
    4.69 +}
    4.70 +}}}
    4.71 +
    4.72 +Unlike some monolithic groupware solutions...
    4.73 +
    4.74 + * It does not require you to change your [[/MailIntegration|mail delivery]]
    4.75 + software or your [[/MailboxIntegration|mail storage]] software (subject to
    4.76 + existing support provided by imip-agent; support for other software can
    4.77 + always be added).
    4.78 +
    4.79 + * It does not require your users to change their [[/MailClients|mail client]]
    4.80 + software.
    4.81 +
    4.82 + * It does not insist that everybody must store their schedules on a single
    4.83 + server in order to collaboratively schedule events.
    4.84 +
    4.85 + * Instead, imip-agent takes advantage of the decentralized nature of the
    4.86 + iCalendar and iMIP Internet standards.
    4.87 +
    4.88 + * It allows people in your organisation to collaborate with people outside
    4.89 + your organisation without insisting that they join your infrastructure or
    4.90 + that everybody join some cloud service that keeps everyone's information
    4.91 + within a single, typically proprietary, remote service (that may also be
    4.92 + potentially vulnerable to intrusion and surveillance).
    4.93 +
    4.94 +The role of imip-agent is to bridge the gap between plain e-mail and
    4.95 +"full-stack" groupware solutions, thus allowing organisations and individuals
    4.96 +to augment their existing infrastructure instead of being compelled to perform
    4.97 +costly and unnecessary migrations and infrastructure transformations.
    4.98 +
    4.99 +== Adding Calendaring to E-Mail ==
   4.100 +
   4.101 +With just an e-mail system, users can already create and schedule calendar
   4.102 +events using any mail or groupware client software that supports calendars and
   4.103 +that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and
   4.104 +[[http://tools.ietf.org/html/rfc6047|iMIP]].
   4.105 +
   4.106 +Starting with an e-mail system, imip-agent can be used to add further support
   4.107 +for calendaring:
   4.108 +
   4.109 +{{{#!table
   4.110 +'''Requirement''' || '''Solution'''
   4.111 +==
   4.112 +Your users probably want to know when other people are available and when they
   4.113 +are busy.
   4.114 +||
   4.115 +Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail
   4.116 +programs do not, so imip-agent will gather information about events and
   4.117 +[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond
   4.118 +to any iMIP requests for free/busy information via mail.
   4.119 +==
   4.120 +Organisations may want to coordinate access to resources using calendaring.
   4.121 +||
   4.122 +Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can
   4.123 +respond to event invitations, allowing users to book resources and to see
   4.124 +published availability information for those resources.
   4.125 +==
   4.126 +Some users may not be using mail programs that understand calendars and
   4.127 +events.
   4.128 +||
   4.129 +Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let
   4.130 +them respond to invitations and to create and schedule their own events.
   4.131 +}}}
   4.132 +
   4.133 +According to your requirements, any or all of the above solutions can be
   4.134 +implemented, providing as much of a groupware solution as you need.
   4.135 +
   4.136 +<<Anchor(Deployment)>>
   4.137 +== Deploying the Software ==
   4.138 +
   4.139 +Initial activities:
   4.140 +
   4.141 + * [[/Downloads|Downloads]]
   4.142 + * [[/GettingStarted|Getting Started]]
   4.143 +
   4.144 +References:
   4.145 +
   4.146 + * [[/Administration|Administering imip-agent]]
   4.147 + * [[/Changelog|Changelog]]
   4.148 + * [[/Configuration|Configuration]] and [[/Preferences|Preferences]]
   4.149 + * [[/CalendarManager|Calendar Management Interface]]
   4.150 + * [[/FreeBusyPublishing|Free/Busy Publishing]]
   4.151 +
   4.152 +<<Anchor(Usage)>>
   4.153 +== Using the Software ==
   4.154 +
   4.155 + * [[/Usage|Using imip-agent]]
   4.156 +
   4.157 +<<Anchor(Development)>>
   4.158 +== Development ==
   4.159 +
   4.160 +Some topics related to development:
   4.161 +
   4.162 + * [[/Developing|Developing imip-agent]]
   4.163 + * [[/FuturePlans|Future Plans]]
   4.164 +
   4.165 +Details of the mechanisms employed by imip-agent are described in the
   4.166 +following documents:
   4.167 +
   4.168 + * [[/AgentPrograms|Agent Programs]]
   4.169 + * [[/CalendaringSupport|Calendaring Support]]
   4.170 + * [[/CounterProposals|Counter-Proposals and Offers]]
   4.171 + * [[/CronIntegration|Cron Task Scheduler Integration]]
   4.172 + * [[/DataStore|Data Store]]
   4.173 + * [[/EventRecurrences|Event Recurrences]]
   4.174 + * [[/FilesystemUsage|Filesystem Usage]]
   4.175 + * [[/IncomingMessages|Incoming Messages]]
   4.176 + * [[/OutgoingMessages|Outgoing Messages]]
   4.177 + * [[/MailIntegration|Mail Integration]]
   4.178 + * [[/MailboxIntegration|Mailbox Integration]]
   4.179 + * [[/Resources|Resources]]
   4.180 + * [[/Testing|Testing]]
   4.181 + * [[/UseCases|Use Cases]]
   4.182 + * [[/WebServerIntegration|Web Server Integration]]