imip-agent

Change of docs/wiki/Resources

1037:e55229d8df6d
docs/wiki/Resources
     1.1 --- a/docs/wiki/Resources	Sun Jan 31 13:09:48 2016 +0100
     1.2 +++ b/docs/wiki/Resources	Sun Jan 31 17:18:54 2016 +0100
     1.3 @@ -24,10 +24,44 @@
     1.4  event has been received. By default, a value equivalent to the following is
     1.5  employed:
     1.6  
     1.7 +{{{{#!table
     1.8 +'''Scheduling Functions''' || '''Decision Process'''
     1.9 +==
    1.10 +<style="vertical-align: top;">
    1.11 +
    1.12  {{{
    1.13  schedule_in_freebusy
    1.14  }}}
    1.15  
    1.16 +||
    1.17 +
    1.18 +{{{#!graphviz
    1.19 +//format=svg
    1.20 +//transform=notugly
    1.21 +digraph scheduling_decisions {
    1.22 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="Scheduling decisions"];
    1.23 +  edge [tooltip="Scheduling decisions"];
    1.24 +
    1.25 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
    1.26 +
    1.27 +  subgraph {
    1.28 +    rank=same;
    1.29 +    schedule_in_freebusy [label="Can schedule in free/busy?",shape=ellipse,style=filled,fillcolor=gold];
    1.30 +    freebusy [label="Free/busy",shape=folder];
    1.31 +  }
    1.32 +
    1.33 +  schedule [label="Schedule event for resource",shape=ellipse,style=filled,fillcolor=gold];
    1.34 +  accept [label="Accept",shape=folder,style=filled,fillcolor=cyan];
    1.35 +  decline [label="Decline",shape=folder,style=filled,fillcolor=cyan];
    1.36 +
    1.37 +  mail -> schedule_in_freebusy -> schedule -> accept;
    1.38 +  schedule_in_freebusy -> decline [style=dashed];
    1.39 +  freebusy -> schedule_in_freebusy;
    1.40 +}
    1.41 +}}}
    1.42 +
    1.43 +}}}}
    1.44 +
    1.45  As described above, this merely attempts to schedule an event in the free
    1.46  periods of the resource's schedule. However, no attempt is made to reject the
    1.47  booking of the resource according to the identity of the organiser.
    1.48 @@ -45,11 +79,48 @@
    1.49  test that the organiser belongs to the same Internet mail domain (by using
    1.50  the organiser's address):
    1.51  
    1.52 +{{{{#!table
    1.53 +'''Scheduling Functions''' || '''Decision Process'''
    1.54 +==
    1.55 +<style="vertical-align: top;">
    1.56 +
    1.57  {{{
    1.58  schedule_in_freebusy
    1.59  same_domain_only
    1.60  }}}
    1.61  
    1.62 +||
    1.63 +
    1.64 +{{{#!graphviz
    1.65 +//format=svg
    1.66 +//transform=notugly
    1.67 +digraph scheduling_decisions {
    1.68 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="Scheduling decisions"];
    1.69 +  edge [tooltip="Scheduling decisions"];
    1.70 +
    1.71 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
    1.72 +
    1.73 +  subgraph {
    1.74 +    rank=same;
    1.75 +    schedule_in_freebusy [label="Can schedule in free/busy?",shape=ellipse,style=filled,fillcolor=gold];
    1.76 +    freebusy [label="Free/busy",shape=folder];
    1.77 +  }
    1.78 +
    1.79 +  same_domain_only [label="Organiser has resource domain?",shape=ellipse,style=filled,fillcolor=gold];
    1.80 +
    1.81 +  schedule [label="Schedule event for resource",shape=ellipse,style=filled,fillcolor=gold];
    1.82 +  accept [label="Accept",shape=folder,style=filled,fillcolor=cyan];
    1.83 +  decline [label="Decline",shape=folder,style=filled,fillcolor=cyan];
    1.84 +
    1.85 +  mail -> schedule_in_freebusy -> same_domain_only -> schedule -> accept;
    1.86 +  schedule_in_freebusy -> decline [style=dashed];
    1.87 +  same_domain_only -> decline [style=dashed];
    1.88 +  freebusy -> schedule_in_freebusy;
    1.89 +}
    1.90 +}}}
    1.91 +
    1.92 +}}}}
    1.93 +
    1.94  Note that if the first function is omitted, no check against the resource's
    1.95  schedule will occur, so it is necessary to mention any such function in the
    1.96  list.
    1.97 @@ -60,14 +131,65 @@
    1.98  resource. Thus, another function is provided to exercise a finer degree of
    1.99  control over event participants. For example:
   1.100  
   1.101 +{{{{#!table
   1.102 +'''Scheduling Functions and Data''' || '''Decision Process'''
   1.103 +==
   1.104 +<style="vertical-align: top;">
   1.105 +
   1.106  {{{
   1.107  schedule_in_freebusy
   1.108  access_control_list
   1.109  }}}
   1.110  
   1.111 -To accompany this, the [[../Preferences#acl|acl]] setting in the
   1.112 -resource's preferences must be set, or if a separate file is more appropriate,
   1.113 -its full path may be given as an argument:
   1.114 +Access control list:
   1.115 +
   1.116 +{{{
   1.117 +accept
   1.118 +}}}
   1.119 +
   1.120 +||
   1.121 +
   1.122 +{{{#!graphviz
   1.123 +//format=svg
   1.124 +//transform=notugly
   1.125 +digraph scheduling_decisions {
   1.126 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="Scheduling decisions"];
   1.127 +  edge [tooltip="Scheduling decisions"];
   1.128 +
   1.129 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
   1.130 +
   1.131 +  subgraph {
   1.132 +    rank=same;
   1.133 +    schedule_in_freebusy [label="Can schedule in free/busy?",shape=ellipse,style=filled,fillcolor=gold];
   1.134 +    freebusy [label="Free/busy",shape=folder];
   1.135 +  }
   1.136 +
   1.137 +  subgraph {
   1.138 +    rank=same;
   1.139 +    access_control_list [label="Access control list permits booking?",shape=ellipse,style=filled,fillcolor=gold];
   1.140 +    acl [label="acl setting",shape=folder];
   1.141 +  }
   1.142 +
   1.143 +  accept_default [label="Accept invitation by default",shape=ellipse,style=filled,fillcolor=darkorange];
   1.144 +  end_acl [label="end",shape=ellipse,style=filled,fillcolor=darkorange];
   1.145 +
   1.146 +  schedule [label="Schedule event for resource",shape=ellipse,style=filled,fillcolor=gold];
   1.147 +  accept [label="Accept",shape=folder,style=filled,fillcolor=cyan];
   1.148 +  decline [label="Decline",shape=folder,style=filled,fillcolor=cyan];
   1.149 +
   1.150 +  mail -> schedule_in_freebusy -> access_control_list -> accept_default -> end_acl -> schedule -> accept;
   1.151 +  end_acl -> decline [style=dashed];
   1.152 +  schedule_in_freebusy -> decline [style=dashed];
   1.153 +  freebusy -> schedule_in_freebusy;
   1.154 +  acl -> access_control_list;
   1.155 +}
   1.156 +}}}
   1.157 +
   1.158 +}}}}
   1.159 +
   1.160 +To accompany the scheduling functions, the [[../Preferences#acl|acl]] setting
   1.161 +in the resource's preferences must be set, or if a separate file is more
   1.162 +appropriate, its full path may be given as an argument to `access_control_list`:
   1.163  
   1.164  {{{
   1.165  schedule_in_freebusy
   1.166 @@ -75,7 +197,8 @@
   1.167  }}}
   1.168  
   1.169  Within the file provided by the setting or separate file, a list of rules
   1.170 -must describe the handling procedure for an event. For example:
   1.171 +must describe the handling procedure for an event. For example, the following
   1.172 +was given in the above example:
   1.173  
   1.174  {{{
   1.175  accept
   1.176 @@ -84,21 +207,128 @@
   1.177  This will merely accept all invitations, anyway. However, it may be
   1.178  appropriate to prevent certain users from using resources. For example:
   1.179  
   1.180 +{{{{#!table
   1.181 +'''Scheduling Functions and Data''' || '''Decision Process'''
   1.182 +==
   1.183 +<style="vertical-align: top;">
   1.184 +
   1.185 +{{{
   1.186 +schedule_in_freebusy
   1.187 +access_control_list
   1.188 +}}}
   1.189 +
   1.190 +Access control list:
   1.191 +
   1.192  {{{
   1.193  accept
   1.194  decline attendee simon.skunk@example.com
   1.195  }}}
   1.196  
   1.197 +||
   1.198 +
   1.199 +{{{#!graphviz
   1.200 +//format=svg
   1.201 +//transform=notugly
   1.202 +digraph scheduling_decisions {
   1.203 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="Scheduling decisions"];
   1.204 +  edge [tooltip="Scheduling decisions"];
   1.205 +
   1.206 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
   1.207 +
   1.208 +  subgraph {
   1.209 +    rank=same;
   1.210 +    schedule_in_freebusy [label="Can schedule in free/busy?",shape=ellipse,style=filled,fillcolor=gold];
   1.211 +    freebusy [label="Free/busy",shape=folder];
   1.212 +  }
   1.213 +
   1.214 +  subgraph {
   1.215 +    rank=same;
   1.216 +    access_control_list [label="Access control list permits booking?",shape=ellipse,style=filled,fillcolor=gold];
   1.217 +    acl [label="acl setting",shape=folder];
   1.218 +  }
   1.219 +
   1.220 +  accept_default [label="Accept invitation by default",shape=ellipse,style=filled,fillcolor=darkorange];
   1.221 +  decline_attendee [label="Is attendee simon.skunk@example.com?",shape=ellipse,style=filled,fillcolor=darkorange];
   1.222 +  end_acl [label="end",shape=ellipse,style=filled,fillcolor=darkorange];
   1.223 +
   1.224 +  schedule [label="Schedule event for resource",shape=ellipse,style=filled,fillcolor=gold];
   1.225 +  accept [label="Accept",shape=folder,style=filled,fillcolor=cyan];
   1.226 +  decline [label="Decline",shape=folder,style=filled,fillcolor=cyan];
   1.227 +
   1.228 +  mail -> schedule_in_freebusy -> access_control_list -> accept_default -> decline_attendee -> end_acl -> schedule -> accept;
   1.229 +  end_acl -> decline [style=dashed];
   1.230 +  schedule_in_freebusy -> decline [style=dashed];
   1.231 +  freebusy -> schedule_in_freebusy;
   1.232 +  acl -> access_control_list;
   1.233 +}
   1.234 +}}}
   1.235 +
   1.236 +}}}}
   1.237 +
   1.238  This example indicates that by default, invitations will be accepted, but if
   1.239  one of the attendees of an event is `simon.skunk@example.com`, the invitation
   1.240  will be declined. However, it may be the case that this rule should be
   1.241  overridden under certain circumstances. For example:
   1.242  
   1.243 +{{{{#!table
   1.244 +'''Scheduling Functions and Data''' || '''Decision Process'''
   1.245 +==
   1.246 +<style="vertical-align: top;">
   1.247 +
   1.248 +{{{
   1.249 +schedule_in_freebusy
   1.250 +access_control_list
   1.251 +}}}
   1.252 +
   1.253 +Access control list:
   1.254 +
   1.255  {{{
   1.256  accept
   1.257  decline attendee simon.skunk@example.com
   1.258  accept organiser paul.boddie@example.com
   1.259  }}}
   1.260  
   1.261 +||
   1.262 +
   1.263 +{{{#!graphviz
   1.264 +//format=svg
   1.265 +//transform=notugly
   1.266 +digraph scheduling_decisions {
   1.267 +  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="Scheduling decisions"];
   1.268 +  edge [tooltip="Scheduling decisions"];
   1.269 +
   1.270 +  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
   1.271 +
   1.272 +  subgraph {
   1.273 +    rank=same;
   1.274 +    schedule_in_freebusy [label="Can schedule in free/busy?",shape=ellipse,style=filled,fillcolor=gold];
   1.275 +    freebusy [label="Free/busy",shape=folder];
   1.276 +  }
   1.277 +
   1.278 +  subgraph {
   1.279 +    rank=same;
   1.280 +    access_control_list [label="Access control list permits booking?",shape=ellipse,style=filled,fillcolor=gold];
   1.281 +    acl [label="acl setting",shape=folder];
   1.282 +  }
   1.283 +
   1.284 +  accept_default [label="Accept invitation by default",shape=ellipse,style=filled,fillcolor=darkorange];
   1.285 +  decline_attendee [label="Is attendee simon.skunk@example.com?",shape=ellipse,style=filled,fillcolor=darkorange];
   1.286 +  accept_organiser [label="Is organiser paul.boddie@example.com?",shape=ellipse,style=filled,fillcolor=darkorange];
   1.287 +  end_acl [label="end",shape=ellipse,style=filled,fillcolor=darkorange];
   1.288 +
   1.289 +  schedule [label="Schedule event for resource",shape=ellipse,style=filled,fillcolor=gold];
   1.290 +  accept [label="Accept",shape=folder,style=filled,fillcolor=cyan];
   1.291 +  decline [label="Decline",shape=folder,style=filled,fillcolor=cyan];
   1.292 +
   1.293 +  mail -> schedule_in_freebusy -> access_control_list -> accept_default -> decline_attendee -> accept_organiser -> end_acl -> schedule -> accept;
   1.294 +  end_acl -> decline [style=dashed];
   1.295 +  schedule_in_freebusy -> decline [style=dashed];
   1.296 +  freebusy -> schedule_in_freebusy;
   1.297 +  acl -> access_control_list;
   1.298 +}
   1.299 +}}}
   1.300 +
   1.301 +}}}}
   1.302 +
   1.303  Here, the stated organiser may still arrange a booking of the resource where
   1.304  the previously-mentioned attendee is involved.