Commit 574b7b9c authored by Frank Bergmann's avatar Frank Bergmann

- Updated to OpenACS 5.9.1

parent 94923d23
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
<initial-install-p>f</initial-install-p> <initial-install-p>f</initial-install-p>
<singleton-p>t</singleton-p> <singleton-p>t</singleton-p>
<version name="0.6.1.1" url="http://openacs.org/repository/download/apm/acs-events-0.6.1.1.apm"> <version name="0.6" url="http://openacs.org/repository/download/apm/acs-events-0.6.apm">
<owner url="http://openacs.org">OpenACS</owner> <owner url="http://openacs.org">OpenACS</owner>
<summary>API support for relationships between intervals in time, activities, and parties.</summary> <summary>API support for relationships between intervals in time, activities, and parties.</summary>
<release-date>2015-10-04</release-date> <release-date>2017-08-06</release-date>
<vendor url="http://openacs.org">OpenACS</vendor> <vendor url="http://openacs.org">OpenACS</vendor>
<description format="text/html">The events service is primarily intended for use by writers of application packages and other service packages. The service allows developers to specify and manipulate relationships (possibly recurring) between an object and another object.</description> <description format="text/html">The events service is primarily intended for use by writers of application packages and other service packages. The service allows developers to specify and manipulate relationships (possibly recurring) between an object and another object.</description>
<maturity>2</maturity> <maturity>2</maturity>
<provides url="acs-events" version="0.6.1.1"/> <provides url="acs-events" version="0.6"/>
<requires url="acs-kernel" version="5.9.0"/> <requires url="acs-kernel" version="5.9.1"/>
<callbacks> <callbacks>
......
...@@ -135,7 +135,7 @@ DECLARE ...@@ -135,7 +135,7 @@ DECLARE
v_ref_dow integer; v_ref_dow integer;
v_add_days integer; v_add_days integer;
BEGIN BEGIN
-- I cant find a function that converts days of the week to -- I can't find a function that converts days of the week to
-- the corresponding integer value, so I roll my own (above) -- the corresponding integer value, so I roll my own (above)
-- We avoid extract(dow from timestamp) because of incompatible output with to_char. -- We avoid extract(dow from timestamp) because of incompatible output with to_char.
v_ref_dow := dow_to_int(next_day__weekday); v_ref_dow := dow_to_int(next_day__weekday);
......
...@@ -210,7 +210,7 @@ DECLARE ...@@ -210,7 +210,7 @@ DECLARE
v_interval_id_cp time_intervals.interval_id%TYPE; v_interval_id_cp time_intervals.interval_id%TYPE;
BEGIN BEGIN
-- Get interval id of orginal interval (before join) -- Get interval id of original interval (before join)
select interval_id into v_interval_id select interval_id into v_interval_id
from timespans from timespans
where timespan_id = join_interval__timespan_id; where timespan_id = join_interval__timespan_id;
......
This diff is collapsed.
...@@ -13,5 +13,4 @@ drop table timespans; ...@@ -13,5 +13,4 @@ drop table timespans;
select drop_package('time_interval'); select drop_package('time_interval');
drop table time_intervals; drop table time_intervals;
drop view if exists timespan_seq;
drop sequence timespan_sequence; drop sequence timespan_sequence;
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
-- PG 9.x support - changes regarding usage of sequences -- PG 9.x support - changes regarding usage of sequences
drop view if exists acs_events_seq; drop view acs_events_seq;
drop sequence if exists acs_events_sequence; drop sequence acs_events_sequence;
drop view if exists timespan_seq; drop view timespan_seq;
drop view if exists recurrence_seq; drop view recurrence_seq;
......
This diff is collapsed.
...@@ -15,7 +15,7 @@ by <a href="mailto:smeeks@arsdigita.com">W. Scott Meeks</a> ...@@ -15,7 +15,7 @@ by <a href="mailto:smeeks@arsdigita.com">W. Scott Meeks</a>
<ul> <ul>
<li> Tcl script directory (link to the API browser page for the package) </li> <li> Tcl script directory (link to the API browser page for the package) </li>
<li> PL/SQL file (link to the API browser page for the package) </li> <li> PL/SQL file (link to the API browser page for the package) </li>
<li> Data model: <a href="/doc/sql/display-sql?url=acs-events-create.sql&package_key=acs-events">acs-events-create.sql</a> </li> <li> Data model: <a href="/doc/sql/display-sql?url=acs-events-create.sql&amp;package_key=acs-events">acs-events-create.sql</a> </li>
<p> <p>
<li> <a href="requirements.html">Requirements document</a> </li> <li> <a href="requirements.html">Requirements document</a> </li>
<li> ER diagram </li> <li> ER diagram </li>
...@@ -29,10 +29,10 @@ by <a href="mailto:smeeks@arsdigita.com">W. Scott Meeks</a> ...@@ -29,10 +29,10 @@ by <a href="mailto:smeeks@arsdigita.com">W. Scott Meeks</a>
The ACS events service is primarily intended for use by writers of The ACS events service is primarily intended for use by writers of
application packages and other service packages. The service allows application packages and other service packages. The service allows
developers to specify and manipulate relationships (possibly developers to specify and manipulate relationships (possibly
recurring) between a <i>set of intervals in time</i>, an recurring) between a <em>set of intervals in time</em>, an
<i>activity</i>, and an arbitrary number of <i>parties</i>. An <em>activity</em>, and an arbitrary number of <em>parties</em>. An
activity can be associated with an arbitrary number of ACS activity can be associated with an arbitrary number of ACS
<i>objects</i>. <em>objects</em>.
</p> </p>
<p> <p>
The package doesn't provide for any interpretation of events, leaving The package doesn't provide for any interpretation of events, leaving
...@@ -52,24 +52,24 @@ time intervals, activities, and recurrences. The package meets the ...@@ -52,24 +52,24 @@ time intervals, activities, and recurrences. The package meets the
requirements for each of these areas in the following ways: requirements for each of these areas in the following ways:
</p> </p>
<p> <p>
<b>Events:</b> The service creates a new subtype of acs_object: <strong>Events:</strong> The service creates a new subtype of acs_object:
acs_event. It creates an auxiliary table for mapping events to acs_event. It creates an auxiliary table for mapping events to
parties. It provides an API for manipulating and querying events and their parties. It provides an API for manipulating and querying events and their
associated time interval sets, activities, recurrences, and parties. associated time interval sets, activities, recurrences, and parties.
</p> </p>
<p> <p>
<b>Time Intervals:</b> The service creates tables for storing time <strong>Time Intervals:</strong> The service creates tables for storing time
intervals and sets of time intervals. It provides an API for intervals and sets of time intervals. It provides an API for
manipulating and querying time intervals and time interval sets. manipulating and querying time intervals and time interval sets.
</p> </p>
<p> <p>
<b>Activities:</b> The service creates a new subtype of acs_object: <strong>Activities:</strong> The service creates a new subtype of acs_object:
acs_activity. It creates an auxiliary table for mapping activities to acs_activity. It creates an auxiliary table for mapping activities to
objects. It provides an API for manipulating activities, their objects. It provides an API for manipulating activities, their
properties, and their associated objects. properties, and their associated objects.
</p> </p>
<p> <p>
<b>Recurrences:</b> The service creates a table for storing <strong>Recurrences:</strong> The service creates a table for storing
information on how an event recurs, including how the event recurs and information on how an event recurs, including how the event recurs and
when it stops recurring. It provides an API for manipulating when it stops recurring. It provides an API for manipulating
recurrence information and recurring events. This includes a function recurrence information and recurring events. This includes a function
...@@ -157,15 +157,15 @@ lower limit, but an upper limit of 2031. ...@@ -157,15 +157,15 @@ lower limit, but an upper limit of 2031.
<p> <p>
The 4.0 ACS Events service doesn't enforce a particular policy to The 4.0 ACS Events service doesn't enforce a particular policy to
prevent problems, but it does provide mechanisms that a well-designed prevent problems, but it does provide mechanisms that a well-designed
application can use. The keys are the <b>event_recurrence.insert_events</b> application can use. The keys are the <strong>event_recurrence.insert_events</strong>
procedure and the <b>partially_populated_events</b> view. procedure and the <strong>partially_populated_events</strong> view.
</p> </p>
<p> <p>
<b>insert_events</b> takes either an event_id or a recurrence_id and a <strong>insert_events</strong> takes either an event_id or a recurrence_id and a
cutoff date. It either uses the recurrence_id, or gets it from the cutoff date. It either uses the recurrence_id, or gets it from the
event_id, to retrieve the information needed to generate the dates of event_id, to retrieve the information needed to generate the dates of
the recurrences. When inserting a recurring event for the first time, the recurrences. When inserting a recurring event for the first time,
the application will need to call <b>insert_events</b> with a the application will need to call <strong>insert_events</strong> with a
reasonable populate_until date. For calendar, for example, this could reasonable populate_until date. For calendar, for example, this could
be sysdate + the lookahead limit. be sysdate + the lookahead limit.
</p> </p>
...@@ -188,7 +188,7 @@ event_recurrence.interval_type. The original choice for the 3.4 ...@@ -188,7 +188,7 @@ event_recurrence.interval_type. The original choice for the 3.4
calendar was based on the Palm DateBook which seemed fairly inclusive calendar was based on the Palm DateBook which seemed fairly inclusive
(covering both Yahoo Calendar and Excite Planner) though it didn't (covering both Yahoo Calendar and Excite Planner) though it didn't
capture some of the more esoteric cases covered by Outlook or capture some of the more esoteric cases covered by Outlook or
(particuarly) Lotus Notes. The Events service maintains the original (particularly) Lotus Notes. The Events service maintains the original
choices, but adds an additional choice, 'custom', which, when combined choices, but adds an additional choice, 'custom', which, when combined
with the custom_func column, allows an application to generate an with the custom_func column, allows an application to generate an
arbitrary recurrence function. The function must take a date and a arbitrary recurrence function. The function must take a date and a
...@@ -200,7 +200,7 @@ positive integer. ...@@ -200,7 +200,7 @@ positive integer.
For the days_of_week column, the representation chosen, a For the days_of_week column, the representation chosen, a
space-delimited list of integers, has a number of advantages. First, space-delimited list of integers, has a number of advantages. First,
it is easy and reasonably efficient to generate the set of dates it is easy and reasonably efficient to generate the set of dates
corresponding to the recurrences. <b>insert_events</b> takes each corresponding to the recurrences. <strong>insert_events</strong> takes each
number in the list in turn and adds it to the date of the beginning of number in the list in turn and adds it to the date of the beginning of
the week. Second, the Tcl and Oracle representations are equivalent the week. Second, the Tcl and Oracle representations are equivalent
and the translations to and from UI are straightforward. In and the translations to and from UI are straightforward. In
...@@ -275,12 +275,12 @@ PL/SQL functions and procedures. ...@@ -275,12 +275,12 @@ PL/SQL functions and procedures.
<h4>Events</h4> <h4>Events</h4>
<p> <p>
This is the main abstraction in the package. <tt>acs_event</tt> is a This is the main abstraction in the package. <kbd>acs_event</kbd> is a
subtype of <tt>acs_object</tt>. In addition to the subtype of <kbd>acs_object</kbd>. In addition to the
<tt>acs_events</tt> table, there is an <tt>acs_event_party_map</tt> <kbd>acs_events</kbd> table, there is an <kbd>acs_event_party_map</kbd>
table which maps between parties and events. The <tt>acs_event</tt> table which maps between parties and events. The <kbd>acs_event</kbd>
package defines <tt>new</tt>, <tt>delete</tt>, various procedures to package defines <kbd>new</kbd>, <kbd>delete</kbd>, various procedures to
set attributes and <tt>recurs_p</tt> indicating whether or not a set attributes and <kbd>recurs_p</kbd> indicating whether or not a
particular event recurs. particular event recurs.
</p> </p>
...@@ -288,20 +288,20 @@ particular event recurs. ...@@ -288,20 +288,20 @@ particular event recurs.
<p> <p>
Because time interval sets are so simple, there is no need to make Because time interval sets are so simple, there is no need to make
them a subtype of <tt>acs_object</tt>. Interval sets are represented them a subtype of <kbd>acs_object</kbd>. Interval sets are represented
with one table to represent time intervals, and a second table which with one table to represent time intervals, and a second table which
groups intervals into sets, with corresponding PL/SQL packages groups intervals into sets, with corresponding PL/SQL packages
defining <tt>new</tt>, <tt>delete</tt>, and additional manipulation functions. defining <kbd>new</kbd>, <kbd>delete</kbd>, and additional manipulation functions.
</p> </p>
<h4>Activities</h4> <h4>Activities</h4>
<p> <p>
This is the secondary abstraction in the package. <tt>acs_activity</tt> is a This is the secondary abstraction in the package. <kbd>acs_activity</kbd> is a
subtype of <tt>acs_object</tt>. In addition to the subtype of <kbd>acs_object</kbd>. In addition to the
<tt>acs_activities</tt> table, there is an <tt>acs_activity_object_map</tt> <kbd>acs_activities</kbd> table, there is an <kbd>acs_activity_object_map</kbd>
table which maps between objects and activities. The <tt>acs_activity</tt> table which maps between objects and activities. The <kbd>acs_activity</kbd>
package defines <tt>new</tt>, <tt>delete</tt>, and various procedures to package defines <kbd>new</kbd>, <kbd>delete</kbd>, and various procedures to
set attributes and mappings. set attributes and mappings.
</p> </p>
...@@ -310,15 +310,15 @@ set attributes and mappings. ...@@ -310,15 +310,15 @@ set attributes and mappings.
<p> <p>
Since recurrences are always associated with events, there seemed to Since recurrences are always associated with events, there seemed to
be no need to make them objects. The information that determines how be no need to make them objects. The information that determines how
an event recurs is stored in the <tt>event_recurrences</tt> table. an event recurs is stored in the <kbd>event_recurrences</kbd> table.
</p> </p>
<p> <p>
The <tt>event_recurrence</tt> package defines <tt>new</tt>, The <kbd>event_recurrence</kbd> package defines <kbd>new</kbd>,
<tt>delete</tt>, and other procedures related to recurrences. The key <kbd>delete</kbd>, and other procedures related to recurrences. The key
procedure is <tt>insert_events</tt>. procedure is <kbd>insert_events</kbd>.
</p> </p>
<p> <p>
A view, <tt>partially_populated_events</tt>, is created which hides A view, <kbd>partially_populated_events</kbd>, is created which hides
some of the details of retrieving recurrences that need to populated further. some of the details of retrieving recurrences that need to populated further.
</p> </p>
...@@ -412,10 +412,10 @@ section can greatly facilitate the documenting of this section. ...@@ -412,10 +412,10 @@ section can greatly facilitate the documenting of this section.
<h3>XII. Revision History</h3> <h3>XII. Revision History</h3>
<table cellpadding=2 cellspacing=2 width=90% bgcolor=#efefef> <table cellpadding="2" cellspacing="2" width="90%" bgcolor="#efefef">
<tr bgcolor=#e0e0e0> <tr bgcolor="#e0e0e0">
<th width=10%>Document Revision #</th> <th width="10%">Document Revision #</th>
<th width=50%>Action Taken, Notes</th> <th width="50%">Action Taken, Notes</th>
<th>When?</th> <th>When?</th>
<th>By Whom?</th> <th>By Whom?</th>
</tr> </tr>
......
<html> <html>
<head><title>ACS Events Documentation</title></head> <head><title>ACS Events Documentation</title></head>
<body bgcolor=#ffffff> <body bgcolor="#ffffff">
<h1>ACS Events Documentation</h1> <h1>ACS Events Documentation</h1>
by <a href=mailto:wsmeeks@arsdigita.com>wsmeeks@arsdigita.com</a> by <a href="mailto:wsmeeks@arsdigita.com">wsmeeks@arsdigita.com</a>
<hr> <hr>
<h2>Engineering Docs</h2> <h2>Engineering Docs</h2>
<ul> <ul>
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment