# HG changeset patch # User Paul Boddie # Date 1555280029 -7200 # Node ID 4b655c8e7619e37d9c2db82293034e381f01a7e3 # Parent d559de7bdc6c31c579f0e7f2034af3167f52a268 Renamed FrontPage to imip-agent; added moinconvert script. diff -r d559de7bdc6c -r 4b655c8e7619 docs/tools/make_docs.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/tools/make_docs.sh Mon Apr 15 00:13:49 2019 +0200 @@ -0,0 +1,30 @@ +#!/bin/sh + +THISDIR=`dirname "$0"` +INDIR="$THISDIR/../wiki" +OUTDIR="$THISDIR/../html" + +ROOT="imip-agent" + +MAPPING='--mapping WikiPedia https://en.wikipedia.org/wiki/' +THEME='--theme mercurial' + +if [ "$1" = '--web' ] ; then + DOCINDEX= + shift 1 +else + DOCINDEX='--document-index index.html' +fi + +FILENAMES=${*:-'--all'} + +moinconvert --input-dir "$INDIR" \ + --input-page-sep '--' \ + --output-dir "$OUTDIR" \ + --root "$ROOT" \ + --format html \ + --macros \ + $DOCINDEX \ + $MAPPING \ + $THEME \ + $FILENAMES diff -r d559de7bdc6c -r 4b655c8e7619 docs/tools/make_pages.sh --- a/docs/tools/make_pages.sh Fri Nov 24 17:24:23 2017 +0100 +++ b/docs/tools/make_pages.sh Mon Apr 15 00:13:49 2019 +0200 @@ -56,7 +56,7 @@ BASENAME=`basename "$FILENAME"` PAGENAME=`echo "$BASENAME" | sed 's/--/\//g'` if [ "$PREFIX" ]; then - if [ "$PAGENAME" = "FrontPage" ]; then + if [ "$PAGENAME" = "imip-agent" ]; then PAGENAME="$PREFIX" else PAGENAME="$PREFIX/$PAGENAME" diff -r d559de7bdc6c -r 4b655c8e7619 docs/wiki/FrontPage --- a/docs/wiki/FrontPage Fri Nov 24 17:24:23 2017 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -= imip-agent = - -{{{#!table -[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] || -[[#Deployment|Deployment]] || [[#Usage|Usage]] || -[[#Development|Development]] || -[[/CalendaringSupport|Support for Standards]] -}}} - -imip-agent is an extension for existing mail systems (such as -[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]]) -providing extra support for calendaring and scheduling. - - * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]], - [[https://tools.ietf.org/html/rfc5546|iTIP]] and - [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards. - - * It can inspect messages containing calendar objects and extract - availability information for sharing and publication. You and your users - decide exactly which kind of messages it will inspect, whose messages it - will inspect, and for whom no inspection or sharing will occur at all. - - * It can provide a [[/CalendarManager|Web-based interface]] to calendar - information for users who cannot or choose not to use - [[/MailClients|mail software]] with calendaring support. This is optional - and your users can choose to adjust, ignore or disable this functionality. - - * It supports autonomous entities such as meeting rooms and [[/Resources|resources]], - automatically accepting or declining invitations according to their schedules. - You can adjust this behaviour to implement your own policies. - - * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]], - giving you the freedom to see what the software does, as well as the freedom - to modify and share the software with others. - -{{{#!graphviz -//format=svg -//transform=notugly -digraph architecture { - node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"]; - edge [tooltip="The imip-agent architecture"]; - rankdir=LR; - - mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan]; - MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"]; - - subgraph { - rank=same; - agent [label="imip-agent",style=filled,fillcolor=gold]; - scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold]; - freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold]; - manager [label="imip-manager",style=filled,fillcolor=gold]; - } - - mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"]; - webserver [label="Web server\n(Apache, ...)",tooltip="Web server"]; - client [label="Mail clients"]; - browser [label="Web browsers"]; - - mail -> MTA -> agent -> mailbox -> client; - agent -> scheduling -> freebusy -> webserver -> client; - freebusy -> manager; - manager -> webserver [penwidth="3.0"]; - webserver -> browser [penwidth="3.0"]; - scheduling -> MTA -> mail [style=dashed]; -} -}}} - -Unlike some monolithic groupware solutions... - - * It does not require you to change your [[/MailIntegration|mail delivery]] - software or your [[/MailboxIntegration|mail storage]] software (subject to - existing support provided by imip-agent; support for other software can - always be added). - - * It does not require your users to change their [[/MailClients|mail client]] - software. - - * It does not insist that everybody must store their schedules on a single - server in order to collaboratively schedule events. - - * Instead, imip-agent takes advantage of the decentralized nature of the - iCalendar and iMIP Internet standards. - - * It allows people in your organisation to collaborate with people outside - your organisation without insisting that they join your infrastructure or - that everybody join some cloud service that keeps everyone's information - within a single, typically proprietary, remote service (that may also be - potentially vulnerable to intrusion and surveillance). - -The role of imip-agent is to bridge the gap between plain e-mail and -"full-stack" groupware solutions, thus allowing organisations and individuals -to augment their existing infrastructure instead of being compelled to perform -costly and unnecessary migrations and infrastructure transformations. - -== Adding Calendaring to E-Mail == - -With just an e-mail system, users can already create and schedule calendar -events using any mail or groupware client software that supports calendars and -that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and -[[http://tools.ietf.org/html/rfc6047|iMIP]]. - -Starting with an e-mail system, imip-agent can be used to add further support -for calendaring: - -{{{#!table -'''Requirement''' || '''Solution''' -== -Your users probably want to know when other people are available and when they -are busy. -|| -Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail -programs do not, so imip-agent will gather information about events and -[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond -to any iMIP requests for free/busy information via mail. -== -Organisations may want to coordinate access to resources using calendaring. -|| -Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can -respond to event invitations, allowing users to book resources and to see -published availability information for those resources. -== -Some users may not be using mail programs that understand calendars and -events. -|| -Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let -them respond to invitations and to create and schedule their own events. -}}} - -According to your requirements, any or all of the above solutions can be -implemented, providing as much of a groupware solution as you need. - -<> -== Deploying the Software == - -Initial activities: - - * [[/Downloads|Downloads]] - * [[/GettingStarted|Getting Started]] - -References: - - * [[/Administration|Administering imip-agent]] - * [[/Changelog|Changelog]] - * [[/Configuration|Configuration]] and [[/Preferences|Preferences]] - * [[/CalendarManager|Calendar Management Interface]] - * [[/FreeBusyPublishing|Free/Busy Publishing]] - -<> -== Using the Software == - - * [[/Usage|Using imip-agent]] - -<> -== Development == - -Some topics related to development: - - * [[/Developing|Developing imip-agent]] - * [[/FuturePlans|Future Plans]] - -Details of the mechanisms employed by imip-agent are described in the -following documents: - - * [[/AgentPrograms|Agent Programs]] - * [[/CalendaringSupport|Calendaring Support]] - * [[/CounterProposals|Counter-Proposals and Offers]] - * [[/CronIntegration|Cron Task Scheduler Integration]] - * [[/DataStore|Data Store]] - * [[/EventRecurrences|Event Recurrences]] - * [[/FilesystemUsage|Filesystem Usage]] - * [[/IncomingMessages|Incoming Messages]] - * [[/OutgoingMessages|Outgoing Messages]] - * [[/MailIntegration|Mail Integration]] - * [[/MailboxIntegration|Mailbox Integration]] - * [[/Resources|Resources]] - * [[/Testing|Testing]] - * [[/UseCases|Use Cases]] - * [[/WebServerIntegration|Web Server Integration]] diff -r d559de7bdc6c -r 4b655c8e7619 docs/wiki/imip-agent --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/wiki/imip-agent Mon Apr 15 00:13:49 2019 +0200 @@ -0,0 +1,179 @@ += imip-agent = + +{{{#!table +[[/Downloads|Downloads]] || [[/GettingStarted|Getting started]] || +[[#Deployment|Deployment]] || [[#Usage|Usage]] || +[[#Development|Development]] || +[[/CalendaringSupport|Support for Standards]] +}}} + +imip-agent is an extension for existing mail systems (such as +[[http://exim.org/|Exim]] and [[http://www.postfix.org/|Postfix]]) +providing extra support for calendaring and scheduling. + + * It uses the [[https://tools.ietf.org/html/rfc5545|iCalendar]], + [[https://tools.ietf.org/html/rfc5546|iTIP]] and + [[https://tools.ietf.org/html/rfc6047|iMIP]] Internet standards. + + * It can inspect messages containing calendar objects and extract + availability information for sharing and publication. You and your users + decide exactly which kind of messages it will inspect, whose messages it + will inspect, and for whom no inspection or sharing will occur at all. + + * It can provide a [[/CalendarManager|Web-based interface]] to calendar + information for users who cannot or choose not to use + [[/MailClients|mail software]] with calendaring support. This is optional + and your users can choose to adjust, ignore or disable this functionality. + + * It supports autonomous entities such as meeting rooms and [[/Resources|resources]], + automatically accepting or declining invitations according to their schedules. + You can adjust this behaviour to implement your own policies. + + * It is [[https://www.fsf.org/about/what-is-free-software|Free Software]], + giving you the freedom to see what the software does, as well as the freedom + to modify and share the software with others. + +{{{#!graphviz +//format=svg +//transform=notugly +digraph architecture { + node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The imip-agent architecture"]; + edge [tooltip="The imip-agent architecture"]; + rankdir=LR; + + mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan]; + MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"]; + + subgraph { + rank=same; + agent [label="imip-agent",style=filled,fillcolor=gold]; + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold]; + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold]; + manager [label="imip-manager",style=filled,fillcolor=gold]; + } + + mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"]; + webserver [label="Web server\n(Apache, ...)",tooltip="Web server"]; + client [label="Mail clients"]; + browser [label="Web browsers"]; + + mail -> MTA -> agent -> mailbox -> client; + agent -> scheduling -> freebusy -> webserver -> client; + freebusy -> manager; + manager -> webserver [penwidth="3.0"]; + webserver -> browser [penwidth="3.0"]; + scheduling -> MTA -> mail [style=dashed]; +} +}}} + +Unlike some monolithic groupware solutions... + + * It does not require you to change your [[/MailIntegration|mail delivery]] + software or your [[/MailboxIntegration|mail storage]] software (subject to + existing support provided by imip-agent; support for other software can + always be added). + + * It does not require your users to change their [[/MailClients|mail client]] + software. + + * It does not insist that everybody must store their schedules on a single + server in order to collaboratively schedule events. + + * Instead, imip-agent takes advantage of the decentralized nature of the + iCalendar and iMIP Internet standards. + + * It allows people in your organisation to collaborate with people outside + your organisation without insisting that they join your infrastructure or + that everybody join some cloud service that keeps everyone's information + within a single, typically proprietary, remote service (that may also be + potentially vulnerable to intrusion and surveillance). + +The role of imip-agent is to bridge the gap between plain e-mail and +"full-stack" groupware solutions, thus allowing organisations and individuals +to augment their existing infrastructure instead of being compelled to perform +costly and unnecessary migrations and infrastructure transformations. + +== Adding Calendaring to E-Mail == + +With just an e-mail system, users can already create and schedule calendar +events using any mail or groupware client software that supports calendars and +that already supports [[http://tools.ietf.org/html/rfc5545|iCalendar]] and +[[http://tools.ietf.org/html/rfc6047|iMIP]]. + +Starting with an e-mail system, imip-agent can be used to add further support +for calendaring: + +{{{#!table +'''Requirement''' || '''Solution''' +== +Your users probably want to know when other people are available and when they +are busy. +|| +Although [[https://tools.ietf.org/html/rfc6047|iMIP]] supports this, most mail +programs do not, so imip-agent will gather information about events and +[[/FreeBusyPublishing|publish it for retrieval via HTTP]]. It will also respond +to any iMIP requests for free/busy information via mail. +== +Organisations may want to coordinate access to resources using calendaring. +|| +Here, imip-agent can provide [[/AgentPrograms|autonomous agents]] that can +respond to event invitations, allowing users to book resources and to see +published availability information for those resources. +== +Some users may not be using mail programs that understand calendars and +events. +|| +Here, imip-agent can provide a [[/CalendarManager|Web interface]] to let +them respond to invitations and to create and schedule their own events. +}}} + +According to your requirements, any or all of the above solutions can be +implemented, providing as much of a groupware solution as you need. + +<> +== Deploying the Software == + +Initial activities: + + * [[/Downloads|Downloads]] + * [[/GettingStarted|Getting Started]] + +References: + + * [[/Administration|Administering imip-agent]] + * [[/Changelog|Changelog]] + * [[/Configuration|Configuration]] and [[/Preferences|Preferences]] + * [[/CalendarManager|Calendar Management Interface]] + * [[/FreeBusyPublishing|Free/Busy Publishing]] + +<> +== Using the Software == + + * [[/Usage|Using imip-agent]] + +<> +== Development == + +Some topics related to development: + + * [[/Developing|Developing imip-agent]] + * [[/FuturePlans|Future Plans]] + +Details of the mechanisms employed by imip-agent are described in the +following documents: + + * [[/AgentPrograms|Agent Programs]] + * [[/CalendaringSupport|Calendaring Support]] + * [[/CounterProposals|Counter-Proposals and Offers]] + * [[/CronIntegration|Cron Task Scheduler Integration]] + * [[/DataStore|Data Store]] + * [[/EventRecurrences|Event Recurrences]] + * [[/FilesystemUsage|Filesystem Usage]] + * [[/IncomingMessages|Incoming Messages]] + * [[/OutgoingMessages|Outgoing Messages]] + * [[/MailIntegration|Mail Integration]] + * [[/MailboxIntegration|Mailbox Integration]] + * [[/Resources|Resources]] + * [[/Testing|Testing]] + * [[/UseCases|Use Cases]] + * [[/WebServerIntegration|Web Server Integration]]