1.1 --- a/docs/wiki/OutgoingMessages Mon Nov 02 00:03:42 2015 +0100
1.2 +++ b/docs/wiki/OutgoingMessages Mon Nov 02 00:06:26 2015 +0100
1.3 @@ -4,14 +4,6 @@
1.4 message rule in the MTA to provide a handler to inspect any calendar-related
1.5 content and to update its records.
1.6
1.7 -The management interface does not use this outgoing message rule because it
1.8 -sends messages from the general calendar address (for example,
1.9 -`calendar@example.com`), and there is no trivial way of deducing the identity
1.10 -of the real sender. Instead, the manager explicitly sends suitably-modified
1.11 -messages to the address of the user operating the interface to achieve the
1.12 -same effect as the outgoing message rule, as well as to notify any mail
1.13 -clients that would normally be managing calendar events on behalf of the user.
1.14 -
1.15 {{{#!graphviz
1.16 //format=svg
1.17 //transform=notugly
1.18 @@ -25,12 +17,48 @@
1.19 subgraph {
1.20 rank=same;
1.21 outgoingrouter [label="Outgoing router"];
1.22 + }
1.23 +
1.24 + subgraph {
1.25 + rank=same;
1.26 + outgoinghandler [label="Outgoing handler",style=filled,fillcolor=gold];
1.27 + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
1.28 + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
1.29 + manager [label="imip-manager",style=filled,fillcolor=gold];
1.30 + }
1.31 +
1.32 + client [label="Mail clients"];
1.33 +
1.34 + client -> mail;
1.35 + mail -> outgoingrouter -> outgoinghandler -> scheduling -> freebusy -> manager;
1.36 +}
1.37 +}}}
1.38 +
1.39 +The management interface does not use this outgoing message rule because it
1.40 +sends messages from the general calendar address (for example,
1.41 +`calendar@example.com`), and there is no trivial way of deducing the identity
1.42 +of the real sender. Instead, the manager explicitly sends suitably-modified
1.43 +messages to the address of the user operating the interface to achieve the
1.44 +same effect as the outgoing message rule, as well as to notify any mail
1.45 +clients that would normally be managing calendar events on behalf of the user.
1.46 +
1.47 +{{{#!graphviz
1.48 +//format=svg
1.49 +//transform=notugly
1.50 +digraph manager_outgoing {
1.51 + node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Outgoing messages from the manager"];
1.52 + edge [tooltip="Outgoing messages from the manager"];
1.53 + rankdir=LR;
1.54 +
1.55 + mail [label="Outgoing mail",shape=folder,style=filled,fillcolor=cyan];
1.56 +
1.57 + subgraph {
1.58 + rank=same;
1.59 personrouter [label="Person router"];
1.60 }
1.61
1.62 subgraph {
1.63 rank=same;
1.64 - outgoinghandler [label="Outgoing handler",style=filled,fillcolor=gold];
1.65 personhandler [label="Person handler",style=filled,fillcolor=gold];
1.66 scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
1.67 freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
1.68 @@ -39,25 +67,10 @@
1.69
1.70 webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
1.71
1.72 - subgraph {
1.73 - rank=same;
1.74 - client [label="Mail clients"];
1.75 - browser [label="Web browsers"];
1.76 - }
1.77 -
1.78 - client -> mail;
1.79 - mail -> outgoingrouter -> outgoinghandler;
1.80 + browser [label="Web browsers"];
1.81
1.82 - browser -> webserver [penwidth="3.0"];
1.83 - webserver -> manager [penwidth="3.0"];
1.84 - manager -> mail [penwidth="3.0"];
1.85 - mail -> personrouter [penwidth="3.0"];
1.86 - personrouter -> personhandler [penwidth="3.0"];
1.87 -
1.88 - outgoinghandler -> scheduling;
1.89 - personhandler -> scheduling [penwidth="3.0"];
1.90 - scheduling -> freebusy;
1.91 - freebusy -> manager;
1.92 + browser -> webserver -> manager -> mail -> personrouter ->
1.93 + personhandler -> scheduling -> freebusy -> manager;
1.94 }
1.95 }}}
1.96