-- -- packages/general-comments/sql/general-comments-create.sql -- -- @author Phong Nguyen (phong@arsdigita.com) -- @author Pascal Scheffers (pascal@scheffers.net) -- @creation-date 2000-10-12 -- -- @cvs-id $Id: general-comments-create.sql,v 1.6 2013/03/30 22:50:45 gustafn Exp $ -- -- General comments: Commenting facility for any object in ACS 4.0 -- -- create a table to extend cr_items create table general_comments ( comment_id integer constraint general_comments_comment_id_fk references acs_messages (message_id) on delete cascade constraint general_comments_pk primary key, object_id integer constraint general_comments_object_id_fk references acs_objects (object_id) on delete cascade, category varchar(1000) ); comment on table general_comments is ' Extends the acs_messages table to hold item level data. '; comment on column general_comments.object_id is ' The id of the object to associate message with '; comment on column general_comments.category is ' This feature is not complete. The purpose is to allow separation of comments into categories. '; -- create an index on foreign key constraint create index general_comments_object_id_idx on general_comments (object_id); CREATE OR REPLACE FUNCTION inline_0 () RETURNS integer AS $$ -- define and grant privileges BEGIN -- create privileges PERFORM acs_privilege__create_privilege('general_comments_create', null, null); PERFORM acs_privilege__add_child('annotate', 'general_comments_create'); return 0; END; $$ LANGUAGE plpgsql; select inline_0 (); drop function inline_0 (); -- show errors -- NOTE: this is only temporary until we figure out how -- packages will register child types to an acs-message CREATE OR REPLACE FUNCTION inline_1 () RETURNS integer AS $$ BEGIN PERFORM content_type__register_child_type ( /* parent_type => */ 'acs_message_revision', /* child_type => */ 'content_revision', 'generic', 0, null ); PERFORM content_type__register_child_type ( /* parent_type => */ 'acs_message_revision', /* child_type => */ 'image', 'generic', 0, null ); PERFORM content_type__register_child_type ( /* parent_type => */ 'acs_message_revision', /* child_type => */ 'content_extlink', 'generic', 0, null ); return 0; END; $$ LANGUAGE plpgsql; select inline_1 (); drop function inline_1 (); -- show errors