# HG changeset patch # User Paul Boddie # Date 1446814322 -3600 # Node ID 8b5c023df75c3b58c8b571fa8f02fd2923aeda5e # Parent 4943394fed36fd419cc5e0f866b56bfd4bd17732 Fixed links and added some specific future plans. diff -r 4943394fed36 -r 8b5c023df75c docs/wiki/FuturePlans --- a/docs/wiki/FuturePlans Fri Nov 06 13:15:31 2015 +0100 +++ b/docs/wiki/FuturePlans Fri Nov 06 13:52:02 2015 +0100 @@ -12,5 +12,69 @@ to automate scheduling and provisioning, employing readily-adopted tools and techniques that are adaptable to existing standards-based infrastructure. -See the [[../Development|development guide]] for more information on +See the [[../Developing|development guide]] for more information on improving imip-agent. + +== Specific Plans == + +The following topics are likely to be addressed first: + +=== Event Limits === + +Being able to specify a frequently-recurring event that has many periods +could cause excessive amounts of free/busy data and make perusal of calendars +very difficult. Certain policies could be supported to avoid this: + + * Reject indefinitely-recurring events + + * Permit certain frequency levels only (for example: hours, days, weeks, + months, years, but not minutes or seconds) + + * Permit only a certain number of periods per interval (for example: an + indicated number of periods in a day) + +Such limits are orthogonal to quotas because they would apply to all events +created for a user. + +=== Quotas === + +To prevent excessive booking of resources and the resulting denial of those +resources, quotas could be introduced. In their most basic form, quotas +would resemble the restrictions imposed by event limits, but would differ +from event limits by imposing such restrictions on a per-user (or other) +basis. Some examples: + + * Permit certain frequency levels depending on the organiser for a + resource + + * Permit only a certain number of periods per interval depending on the + organiser (or other property derived from the organiser) for a resource + or for collections of resources + + * Impose a total limit on the number of active events made by an + organiser (or other property) for a resource or for collections of + resources + +Where quotas must be coordinated between resources, perhaps on the basis +of groups of users, an external mechanism might need integrating to manage +the activity. Such a mechanism might also support things like billing or +accounting for resources, although this is beyond the scope of imip-agent +itself. + +=== Combining Scheduling Functions === + +Extend the resource scheduling support to provide chains of scheduling +functions, as opposed to a single function. Thus, different activities could +be combined. For example, to suggest alternative periods whilst enforcing +booking quotas, there would be two functions indicated in the +`scheduling_function` setting for a resource: + +{{{ +schedule_next_available_in_freebusy +enforce_quota +}}} + +Each function would consider the current state of the event, and the chain +would be terminated if a function decided to decline the participation of +the resource. Otherwise, each function in turn would be able to refine the +event and decide upon the resource's participation. diff -r 4943394fed36 -r 8b5c023df75c docs/wiki/Testing --- a/docs/wiki/Testing Fri Nov 06 13:15:31 2015 +0100 +++ b/docs/wiki/Testing Fri Nov 06 13:52:02 2015 +0100 @@ -4,8 +4,8 @@ it can be useful to check whether the different programs function as expected by themselves. Should errors or faults occur, these would need to be remedied first before attempting to get the software working with -the [[../MailIntegration|mail]] and [[../WebIntegration|Web]] system -components. +the [[../MailIntegration|mail]] and [[../WebServerIntegration|Web]] +system components. <>