Commit a907b415 authored by Frank Bergmann's avatar Frank Bergmann

- Updated to OpenACS 5.9.1

parent cd0f4f92
...@@ -6,23 +6,25 @@ ...@@ -6,23 +6,25 @@
<pretty-plural>ACS Messaging Services</pretty-plural> <pretty-plural>ACS Messaging Services</pretty-plural>
<initial-install-p>t</initial-install-p> <initial-install-p>t</initial-install-p>
<singleton-p>t</singleton-p> <singleton-p>t</singleton-p>
<implements-subsite-p>f</implements-subsite-p>
<inherit-templates-p>t</inherit-templates-p>
<version name="5.9.0" url="http://openacs.org/repository/download/apm/acs-messaging-5.9.0.apm"> <version name="5.9.1" url="http://openacs.org/repository/download/apm/acs-messaging-5.9.1.apm">
<owner url="mailto:akk+@cs.cmu.edu">Anukul Kapoor</owner> <owner url="mailto:akk+@cs.cmu.edu">Anukul Kapoor</owner>
<owner url="mailto:prevost@maya.com">John Prevost</owner> <owner url="mailto:prevost@maya.com">John Prevost</owner>
<owner url="mailto:vinod@kurup.com">Vinod Kurup</owner> <owner url="mailto:vinod@kurup.com">Vinod Kurup</owner>
<summary>General messaging for bboard and general comments.</summary> <summary>General messaging for bboard and general comments.</summary>
<release-date>2015-10-04</release-date> <release-date>2017-08-06</release-date>
<maturity>3</maturity>
<vendor url="http://openacs.org">OpenACS</vendor> <vendor url="http://openacs.org">OpenACS</vendor>
<license url="http://www.gnu.org/copyleft/gpl.html">GPL</license>
<description format="text/html">Provides generic message services, with email sending. acs-mail-lite and notifications are the <description format="text/html">Provides generic message services, with email sending. acs-mail-lite and notifications are the
prefered packages for delivering this functionality and it is anticipated that this package will ultimately be deprecated.</description> preferred packages for delivering this functionality and it is anticipated that this package will ultimately be deprecated.</description>
<license>GPL</license>
<maturity>3</maturity>
<provides url="acs-messaging" version="5.9.0"/> <provides url="acs-messaging" version="5.9.1"/>
<requires url="acs-content-repository" version="5.9.0"/> <requires url="acs-content-repository" version="5.9.1"/>
<requires url="acs-kernel" version="5.9.0"/> <requires url="acs-kernel" version="5.9.1"/>
<requires url="acs-mail-lite" version="5.9.0"/> <requires url="acs-mail-lite" version="5.9.1"/>
<callbacks> <callbacks>
</callbacks> </callbacks>
...@@ -32,7 +34,3 @@ ...@@ -32,7 +34,3 @@
</version> </version>
</package> </package>
...@@ -206,24 +206,35 @@ as ...@@ -206,24 +206,35 @@ as
v_revision_id cr_revisions.revision_id%TYPE; v_revision_id cr_revisions.revision_id%TYPE;
begin begin
-- generate a message id now so we can get an rfc822 message-id -- -- generate a message id now so we can get an rfc822 message-id
if message_id is null then -- if message_id is null then
select acs_object_id_seq.nextval into v_message_id from dual; -- select acs_object_id_seq.nextval into v_message_id from dual;
else -- else
v_message_id := message_id; -- v_message_id := message_id;
end if; -- end if;
-- this needs to be fixed up, but Oracle doesn't give us a way -- -- this needs to be fixed up, but Oracle doesn't give us a way
-- to get the FQDN -- -- to get the FQDN
-- if rfc822_id is null then
-- v_rfc822_id := sysdate || '.' || v_message_id || '@' ||
-- utl_inaddr.get_host_name || '.hate';
-- else
-- v_rfc822_id := rfc822_id;
-- end if;
-- Antonio Pisano 2016-09-20
-- rfc822_id MUST come from the tcl, no more
-- sql tricks to retrieve one if missing.
-- Motivations:
-- 1) duplication. We have same logics in acs_mail_lite::generate_message_id
-- 2) what if SystemURL is https?
-- 3) empty SystemURL would break General Comments
if rfc822_id is null then if rfc822_id is null then
v_rfc822_id := sysdate || '.' || v_message_id || '@' || RAISE SELF_IS_NULL;
utl_inaddr.get_host_name || '.hate';
else
v_rfc822_id := rfc822_id;
end if; end if;
v_message_id := content_item.new ( v_message_id := content_item.new (
name => v_rfc822_id, name => rfc822_id,
parent_id => parent_id, parent_id => parent_id,
content_type => 'acs_message_revision', content_type => 'acs_message_revision',
item_id => message_id, item_id => message_id,
...@@ -238,7 +249,7 @@ as ...@@ -238,7 +249,7 @@ as
insert into acs_messages insert into acs_messages
(message_id, reply_to, sent_date, sender, rfc822_id) (message_id, reply_to, sent_date, sender, rfc822_id)
values values
(v_message_id, reply_to, sent_date, sender, v_rfc822_id); (v_message_id, reply_to, sent_date, sender, rfc822_id);
-- create an initial revision for the new message -- create an initial revision for the new message
v_revision_id := acs_message.edit ( v_revision_id := acs_message.edit (
......
This diff is collapsed.
...@@ -11,11 +11,7 @@ ad_proc -public acs_message_p { ...@@ -11,11 +11,7 @@ ad_proc -public acs_message_p {
} { } {
Check if an integer is a valid OpenACS message id. Check if an integer is a valid OpenACS message id.
} { } {
return [string equal [db_exec_plsql acs_message_p { return [string equal [db_exec_plsql acs_message_p {}] "t"]
begin
:1 := acs_message.message_p(:message_id);
end;
}] "t"]
} }
ad_page_contract_filter acs_message_id { name value } { ad_page_contract_filter acs_message_id { name value } {
...@@ -63,9 +59,7 @@ ad_proc -public acs_messaging_first_ancestor { ...@@ -63,9 +59,7 @@ ad_proc -public acs_messaging_first_ancestor {
the message_id of the first ancestor message (i.e. the message the message_id of the first ancestor message (i.e. the message
that originated the thread). that originated the thread).
} { } {
db_1row acs_message_first_ancestor { db_1row acs_message_first_ancestor {}
select acs_message.first_ancestor(:message_id) as ancestor_id from dual
}
return $ancestor_id return $ancestor_id
} }
......
<property name="context">{/doc/acs-messaging {Messaging}} {ACS Messaging Design}</property> <property name="context">{/doc/acs-messaging {ACS Messaging}} {ACS Messaging Design}</property>
<property name="doc(title)">ACS Messaging Design</property> <property name="doc(title)">ACS Messaging Design</property>
<master> <master>
<h2>ACS Messaging Design</h2> <h2>ACS Messaging Design</h2>
...@@ -28,25 +28,26 @@ simple procedures that do the right thing when sending email. ...@@ -28,25 +28,26 @@ simple procedures that do the right thing when sending email.
Another example: if we built the IMAP server functionality 3.4 Another example: if we built the IMAP server functionality 3.4
webmail provides against acs-messaging, then bboard forums, pages webmail provides against acs-messaging, then bboard forums, pages
of comments, and webmail folders could be viewed uniformly through of comments, and webmail folders could be viewed uniformly through
your email client. The IMAP mapping isn't quite trivial, but you your email client. The IMAP mapping isn&#39;t quite trivial, but
can see the idea.To reiterate, if applications are storing the same you can see the idea.To reiterate, if applications are storing the
sort of data (a text-ish messages with optional attachments and same sort of data (a text-ish messages with optional attachments
replies), they should store them the same way. Then code from and replies), they should store them the same way. Then code from
particular applications can possibly be refactored into generic particular applications can possibly be refactored into generic
functionality.spam/general alerts/etc isn't meant to be replaced by functionality.spam/general alerts/etc isn&#39;t meant to be
ACS Messaging, at least not with what is there currently. Currently replaced by ACS Messaging, at least not with what is there
it is just a store; but we intend it to be the canonical store for currently. Currently it is just a store; but we intend it to be the
messages that need to be stored in the database. If messages are canonical store for messages that need to be stored in the
automatically generated from other user objects, they might need to database. If messages are automatically generated from other user
be queue'd up or archived in the RDBMS. If so this should be done objects, they might need to be queue&#39;d up or archived in the
in the acs-messaging tables. We can implement the generic incoming RDBMS. If so this should be done in the acs-messaging tables. We
email system by stashing messages in acs-messaging, then can implement the generic incoming email system by stashing
dispatching the message id to package specific code for messages in acs-messaging, then dispatching the message id to
processing.Currently (11/2000), ACS Messaging is very slim; it just package specific code for processing.Currently (11/2000), ACS
supports bboard. We intend to add attachments (most likely Messaging is very slim; it just supports bboard. We intend to add
implemented as content repository items that are children of the attachments (most likely implemented as content repository items
message), extensible headers (just like the webmail datamodel), and that are children of the message), extensible headers (just like
versioning as provided by the content repository. the webmail datamodel), and versioning as provided by the content
repository.
<h2>API</h2> <h2>API</h2>
ACS Messaging provides the <code>acs_messages_all</code> ACS Messaging provides the <code>acs_messages_all</code>
......
<property name="context">{/doc/acs-messaging {Messaging}} {ACS Messaging Documentation}</property> <property name="context">{/doc/acs-messaging {ACS Messaging}} {ACS Messaging Documentation}</property>
<property name="doc(title)">ACS Messaging Documentation</property> <property name="doc(title)">ACS Messaging Documentation</property>
<master> <master>
<h1>ACS Messaging Documentation</h1> <h1>ACS Messaging Documentation</h1>
......
<property name="context">{/doc/acs-messaging {Messaging}} {ACS Messaging Requirements}</property> <property name="context">{/doc/acs-messaging {ACS Messaging}} {ACS Messaging Requirements}</property>
<property name="doc(title)">ACS Messaging Requirements</property> <property name="doc(title)">ACS Messaging Requirements</property>
<master> <master>
<h1>ACS Messaging Requirements</h1> <h1>ACS Messaging Requirements</h1>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
by <a href="mailto:akk\@arsdigita.com">Anukul Kapoor</a> by <a href="mailto:akk\@arsdigita.com">Anukul Kapoor</a>
and and
<a href="mailto:akk\@arsdigita.com">Pete Su</a> <a href="mailto:akk\@arsdigita.com">Pete Su</a>
<i>This is only a DRAFT</i> <em>This is only a DRAFT</em>
<h3>I. Introduction</h3> <h3>I. Introduction</h3>
<p>In ACS 3.x, each messaging application (e.g. bboard, general <p>In ACS 3.x, each messaging application (e.g. bboard, general
comments, spam, ticket tracker and so on) used its own specialized comments, spam, ticket tracker and so on) used its own specialized
...@@ -46,9 +46,9 @@ search.</li> ...@@ -46,9 +46,9 @@ search.</li>
<h3>IV. Use-cases and User Scenarios</h3> <h3>IV. Use-cases and User Scenarios</h3>
<p>ACS Messaging is generally not used directly by users, so there <p>ACS Messaging is generally not used directly by users, so there
are no user interface level scenarios to consider at this point. are no user interface level scenarios to consider at this point.
It's possible that in the future we will want to extend the system It&#39;s possible that in the future we will want to extend the
with generic administrative user interfaces, but this is not clear system with generic administrative user interfaces, but this is not
right now.</p> clear right now.</p>
<p>We scenarios that we should consider are the kinds of <p>We scenarios that we should consider are the kinds of
applications that we mean to support with this package, and what applications that we mean to support with this package, and what
the developers of those applications would like to see in the data the developers of those applications would like to see in the data
...@@ -59,8 +59,8 @@ implemented using this package:</p> ...@@ -59,8 +59,8 @@ implemented using this package:</p>
<li>BBoard</li><li>Webmail</li><li>General Comments</li><li>Spam</li><li>Various parts of the ticket tracker.</li> <li>BBoard</li><li>Webmail</li><li>General Comments</li><li>Spam</li><li>Various parts of the ticket tracker.</li>
</ul> </ul>
<p>Each of these applications requires a message store and each <p>Each of these applications requires a message store and each
defines it's own high level organization for messages whithin that defines it&#39;s own high level organization for messages whithin
store.</p> that store.</p>
<ul> <ul>
<li>Bboard organizes messages into forums and categories and <li>Bboard organizes messages into forums and categories and
threads. It also allows users to send and reply to messages via threads. It also allows users to send and reply to messages via
...@@ -84,7 +84,7 @@ representing messages.</p> ...@@ -84,7 +84,7 @@ representing messages.</p>
<p><strong>20.0 Message Content</strong></p> <p><strong>20.0 Message Content</strong></p>
<p>A message should have a primary content body consisting of a <p>A message should have a primary content body consisting of a
specified MIME type and a block of storage holding the content. In specified MIME type and a block of storage holding the content. In
addition, applications may store one or more seperate revisions of addition, applications may store one or more separate revisions of
a message.</p> a message.</p>
<p><strong>30.0 Attachments</strong></p> <p><strong>30.0 Attachments</strong></p>
<p>Messages may be composed of additional attachments. Each <p>Messages may be composed of additional attachments. Each
...@@ -130,9 +130,9 @@ types, although initial implementations may be more limited.</p> ...@@ -130,9 +130,9 @@ types, although initial implementations may be more limited.</p>
<p><strong>100.0 Messages and E-Mail</strong></p> <p><strong>100.0 Messages and E-Mail</strong></p>
<p>The system should provide the following interfaces for <p>The system should provide the following interfaces for
integrating with existing E-mail systems. Note that these integrating with existing E-mail systems. Note that these
requirements only deal with <i>sending</i> mail. Our feeling that a requirements only deal with <em>sending</em> mail. Our feeling that
seperate package should be implemented to deal with a separate package should be implemented to deal with
<i>receiving</i> mail that would use ACS Messages for storage of <em>receiving</em> mail that would use ACS Messages for storage of
incoming messages.</p> incoming messages.</p>
<blockquote> <blockquote>
<p><strong>100.10 Sending Single Messages</strong></p><p>The system should provide a mechanism for specifying that a <p><strong>100.10 Sending Single Messages</strong></p><p>The system should provide a mechanism for specifying that a
...@@ -156,5 +156,5 @@ bboard thread could be sent to a user as a digest.</p> ...@@ -156,5 +156,5 @@ bboard thread could be sent to a user as a digest.</p>
<hr> <hr>
<address><a href="mailto:kapoor\@maya.com"></a></address> <address><a href="mailto:kapoor\@maya.com"></a></address>
Last modified: $&zwnj;Id: requirements.html,v 1.1.1.1 2001/03/13 22:59:26 Last modified: $&zwnj;Id: requirements.html,v 1.1.1.1.30.1 2017/04/21
ben Exp $ 16:14:09 gustafn Exp $
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
A message should have a primary content A message should have a primary content
body consisting of a specified MIME type and a block of storage body consisting of a specified MIME type and a block of storage
holding the content. In addition, applications may store one or holding the content. In addition, applications may store one or
more seperate revisions of a message. more separate revisions of a message.
</p> </p>
<p><strong>30.0 Attachments</strong> <p> Messages may be composed <p><strong>30.0 Attachments</strong> <p> Messages may be composed
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
<p> <p>
The system should provide the following interfaces for integrating The system should provide the following interfaces for integrating
with existing E-mail systems. Note that these requirements only with existing E-mail systems. Note that these requirements only
deal with <i>sending</i> mail. Our feeling that a seperate package deal with <i>sending</i> mail. Our feeling that a separate package
should be implemented to deal with <i>receiving</i> mail that should be implemented to deal with <i>receiving</i> mail that
would use ACS Messages for storage of incoming messages. would use ACS Messages for storage of incoming messages.
</p> </p>
......
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