Index: openacs-4/contrib/packages/general-comments/sql/oracle/general-comments-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/general-comments/sql/oracle/Attic/general-comments-create.sql,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/general-comments/sql/oracle/general-comments-create.sql 2 May 2003 15:49:13 -0000 1.1 +++ openacs-4/contrib/packages/general-comments/sql/oracle/general-comments-create.sql 19 Jun 2003 18:04:03 -0000 1.2 @@ -11,24 +11,24 @@ -- create a table to extend cr_items create table general_comments ( - comment_id constraint general_comments_comment_id_fk - references acs_messages (message_id) on delete cascade + comment_id integer constraint general_comments_comment_id_fk + references cr_revision (revision_id) on delete cascade constraint general_comments_pk primary key, - object_id constraint general_comments_object_id_fk + object_id integer constraint general_comments_object_id_fk references acs_objects (object_id) on delete cascade, - category varchar2(1000) + package_id integer constraing general_comments_package_id_fk + references apm_packages (package_id) on delete cascade ); + + comment on table general_comments is ' - Extends the acs_messages table to hold item level data. + Extends the cr_revisions 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. -'; +-- unused catergory feature removed. Should be new categories package. DaveB -- create an index on foreign key constraint create index general_comments_object_id_idx on general_comments (object_id); @@ -48,13 +48,16 @@ -- associte privileges to global privileges acs_privilege.add_child('create','general_comments_create'); - + +-- This is questionable. If we allow seperate gc instances per subsite this +-- will not work. DaveB + -- allow registered users to create comments - acs_permission.grant_permission ( - object_id => default_context, - grantee_id => registered_users, - privilege => 'general_comments_create' - ); +-- acs_permission.grant_permission ( +-- object_id => default_context, +-- grantee_id => registered_users, +-- privilege => 'general_comments_create' +-- ); end; / @@ -82,3 +85,19 @@ show errors +-- create general comment type as subtype of cr_revision +begin + +select content_type.create_type ( + content_type => 'general_comment', + supertype => 'content_revision', + pretty_name => 'General Comment', + pretty_plural => 'General Comments', + table_name => 'general_comments', + id_column => 'comment_id', + name_method => 'content_revision.revision_name' +); + +end; +/ +show errors Index: openacs-4/contrib/packages/general-comments/sql/oracle/general-comments-plsql-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/general-comments/sql/oracle/Attic/general-comments-plsql-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/contrib/packages/general-comments/sql/oracle/general-comments-plsql-create.sql 19 Jun 2003 18:04:03 -0000 1.1 @@ -0,0 +1,106 @@ +--TODO: port to oracle!! + +-- plpgsql functions for general-comments +-- Dave Bauer dave@thedesignexperience.org +-- 2003-05-04 + +create or replace package general_comment as + +end; +show errors +/ +create functions general_comment__new( + ) returns integer as ' +declare + p_comment_id alias for $1; + p_object_id alias for $2; + p_package_id alias for $3; + p_parent_id alias for $4; + p_context_id alias for $5; + p_title alias for $6; + p_description alias for $7 + p_content alias for $8; + p_creation_user alias for $9; + p_creation_date alias for $10; + p_creation_ip alias for $11; + p_mime_type alias for $12; + v_item_id cr_items.item_id%TYPE; +begin + v_item_id := select nextval(acs_object_id_seq); + + PERFORM content_item__new( + ''general_comment_'' || p_parent_id || ''_'' || v_item_id, + p_parent_id, + v_item_id, + NULL, + p_creation_date, + p_creation_user, + p_context_id, + p_creation_ip, + ''content_item'', + ''general_comment'', + p_title, + p_description, + p_mime_type, + p_content, + ''text'' + ); + v_revision_id := select latest_revision + from cr_items + where item_id=v_item_id + + PERFORM content_revision__new( + + ); + + insert into general_comments + ( + comment_id, + object_id + ) + values + ( + p_comment_id, + p_object_id + ); + + perform acs_permission__grant_permission(p_comment_id, + p_creation_user, + ''read''); + perform acs_permission__grant_permission(p_comment_id, + p_creation_user, + ''write''); + +return p_comment_id; +end;' language 'plpgsql'; + +create or replace function general_comment__del( + integer + ) returns integer as ' +declare + p_comment_id alias for $1; +begin + -- remove permssions from the object + delete from acs_permissions where object_id=:p_comment_id; + -- handle attachments and child comments for threaded comments? + + -- do we need to remove live_revision and latest_revision first? + perform content_item__delete(p_comment_id); + + delete from general_comments where comment_id=:p_comment_id; + +return NULL; +end;' language 'plpgsql'; + +create or replace function general_comment__revise( + integer + ) returns integer as ' +declare + p_comment_id alias for $1 +begin + -- create a new revision of a comment + -- does the UI even offer this option? +return NULL; +end;' language 'plpgsql'; + +