Index: openacs-4/packages/acs-content-repository/acs-content-repository.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v diff -u -N -r1.109.2.19 -r1.109.2.20 --- openacs-4/packages/acs-content-repository/acs-content-repository.info 16 May 2016 10:38:40 -0000 1.109.2.19 +++ openacs-4/packages/acs-content-repository/acs-content-repository.info 26 May 2016 19:23:20 -0000 1.109.2.20 @@ -7,7 +7,7 @@ t t - + OpenACS The canonical repository for OpenACS content. 2015-10-04 @@ -19,7 +19,7 @@ GPL 3 - + Index: openacs-4/packages/acs-content-repository/sql/common/mime-type-data.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/common/mime-type-data.sql,v diff -u -N -r1.10.8.5 -r1.10.8.6 --- openacs-4/packages/acs-content-repository/sql/common/mime-type-data.sql 3 May 2016 06:23:59 -0000 1.10.8.5 +++ openacs-4/packages/acs-content-repository/sql/common/mime-type-data.sql 26 May 2016 19:23:20 -0000 1.10.8.6 @@ -13,7 +13,7 @@ insert into cr_mime_types (label,mime_type,file_extension) values ( 'AutoCAD drawing files' , 'application/acad' , 'dwg' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'Andrew data stream' , 'application/andrew-inset' , 'ez' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'ClarisCAD files' , 'application/clariscad' , 'ccad' ); -insert into cr_mime_types (label,mime_type,file_extension) values ( 'Text - Comma separated value', 'application/csv' , 'csv' ); +insert into cr_mime_types (label,mime_type,file_extension) values ( 'Text - Comma separated value', 'text/csv' , 'csv' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'MATRA Prelude drafting' , 'application/drafting' , 'drw' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'DXF (AutoCAD)' , 'application/dxf' , 'dxf' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'Filemaker Pro' , 'application/filemaker' , 'fm' ); @@ -29,7 +29,7 @@ insert into cr_mime_types (label,mime_type,file_extension) values ( 'PostScript' , 'application/postscript' , 'ps' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'RTF - Rich Text Format' , 'application/rtf' , 'rtf' ); insert into cr_mime_types (label,mime_type,file_extension) values ( 'Stereolithography' , 'application/sla' , 'stl'); -insert into cr_mime_types (label,mime_type,file_extension) values ( 'VCard' , 'application/vcard' , 'vcf'); +insert into cr_mime_types (label,mime_type,file_extension) values ( 'VCard' , 'text/vcard' , 'vcf'); insert into cr_mime_types (label,mime_type,file_extension) values ( 'VDA-FS Surface data' , 'application/vda' , 'vda'); insert into cr_mime_types (label,mime_type,file_extension) values ( 'SSOYE Koan Files' , 'application/vnd.koan' , 'skp'); insert into cr_mime_types (label,mime_type,file_extension) values ( 'FrameMaker MIF format' , 'application/vnd.mif' , 'mif' ); @@ -177,7 +177,9 @@ insert into cr_mime_types (label,mime_type,file_extension) values ('SPPS data file' ,'application/x-spss-outputfile' , 'spo'); insert into cr_mime_types (label,mime_type,file_extension) values ('Video MP4' , 'video/mp4' , 'mp4'); insert into cr_mime_types (label,mime_type,file_extension) values ('XPInstall' , 'application/x-xpinstall' , 'xpi'); +insert into cr_mime_types (label,mime_type,file_extension) values ('iCalendar' , 'text/calendar' , 'ics'); + -- Open Documents MIME types insert into cr_mime_types (mime_type, file_extension, label) values ('application/vnd.oasis.opendocument.text', 'odt', 'OpenDocument Text'); insert into cr_mime_types (mime_type, file_extension, label) values ('application/vnd.oasis.opendocument.text-template', 'ott', 'OpenDocument Text Template'); @@ -263,7 +265,7 @@ insert into cr_extension_mime_type_map (extension, mime_type) values ( 'cpio','application/x-cpio' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'cpt','application/mac-compactpro' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'css','text/css' ); -insert into cr_extension_mime_type_map (extension, mime_type) values ( 'csv','application/csv'); +insert into cr_extension_mime_type_map (extension, mime_type) values ( 'csv','text/csv'); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'cur','application/octet-stream' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'dcr','application/x-director' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'deb','application/x-debian-package' ); @@ -417,7 +419,7 @@ insert into cr_extension_mime_type_map (extension, mime_type) values ( 'ustar','application/x-ustar' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'uu','application/octet-stream' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vcd','application/x-cdlink' ); -insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vcf','application/vcard' ); +insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vcf','text/vcard' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vdo','video/vdo' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vda','application/vda' ); insert into cr_extension_mime_type_map (extension, mime_type) values ( 'vivo','video/vnd.vivo' ); @@ -476,6 +478,7 @@ insert into cr_extension_mime_type_map (extension, mime_type) values ('spo', 'application/x-spss-outputfile'); insert into cr_extension_mime_type_map (extension, mime_type) values ('mp4', 'video/mp4'); insert into cr_extension_mime_type_map (extension, mime_type) values ('xpi', 'application/x-xpinstall'); +insert into cr_extension_mime_type_map (extension, mime_type) values ('ics', 'text/calendar'); -- Open Documents MIME types insert into cr_extension_mime_type_map (mime_type, extension) values ('application/vnd.oasis.opendocument.text', 'odt'); Index: openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.9.1d15-5.9.1d16.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.9.1d15-5.9.1d16.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.9.1d15-5.9.1d16.sql 26 May 2016 19:23:20 -0000 1.1.2.1 @@ -0,0 +1,36 @@ +-- +-- Update mime_type to official content type as registered by IANA. +-- The changes have to be performed in a transaction, therefore the inline function. +-- +create or replace function inline_0 ( + p_label in varchar, + p_extension in varchar, + p_old_mime_type in varchar, + p_new_mime_type in varchar +) +return integer +as +begin + delete from cr_extension_mime_type_map where mime_type = p_old_mime_type; + + insert into cr_mime_types(label, mime_type, file_extension) + select p_label, p_new_mime_type, p_extension from dual + where not exists (select 1 from cr_mime_types where mime_type = p_new_mime_type); + + update cr_content_mime_type_map set mime_type = p_new_mime_type where mime_type = p_old_mime_type; + update cr_revisions set mime_type = p_new_mime_type where mime_type = p_old_mime_type; + + insert into cr_extension_mime_type_map (extension, mime_type) + select p_extension, p_new_mime_type from dual + where not exists (select 1 from cr_extension_mime_type_map where mime_type = p_new_mime_type); + + delete from cr_mime_types where mime_type = p_old_mime_type; + return 1; +end; +/ + +select inline_0('Comma separated value','csv','application/csv','text/csv') from dual; +select inline_0('VCard','vcf','application/vcard','text/vcard') from dual; +select inline_0('iCalendar','ics','-- dummy --','text/calendar') from dual; + +drop function inline_0; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql,v diff -u -N -r1.63.2.5 -r1.63.2.6 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql 16 May 2016 10:38:40 -0000 1.63.2.5 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql 26 May 2016 19:23:20 -0000 1.63.2.6 @@ -163,6 +163,7 @@ -------------------------------------------------------------- -- CONTENT ITEMS -------------------------------------------------------------- +CREATE TYPE cr_item_storage_type_enum AS ENUM ('text', 'file', 'lob'); -- Define the cr_items table Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql,v diff -u -N -r1.26 -r1.26.2.1 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql 27 Oct 2014 16:39:07 -0000 1.26 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql 26 May 2016 19:23:20 -0000 1.26.2.1 @@ -106,13 +106,18 @@ new__creation_ip, 'content_item', 'content_template', - null, - null, + null, -- title + null, -- description 'text/plain', - null, - null, - 'text' - ); + null, -- nls_language + null, -- text + null, -- data + null, -- relation_tag + 'f', -- is_live + 'text', -- storage_type + null, -- package_id + 't' -- with_child_rels + ); insert into cr_templates ( template_id Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d15-5.9.1d16.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d15-5.9.1d16.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d15-5.9.1d16.sql 26 May 2016 19:23:20 -0000 1.1.2.1 @@ -0,0 +1,36 @@ +-- +-- Update mime_type to official content type as registered by IANA. +-- The changes have to be performed in a transaction, therefore the inline function. +-- +create or replace function inline_0 ( + p_label varchar, + p_extension varchar, + p_old_mime_type varchar, + p_new_mime_type varchar +) +returns integer as $$ +begin + SET CONSTRAINTS ALL DEFERRED; + delete from cr_extension_mime_type_map where mime_type = p_old_mime_type; + + insert into cr_mime_types(label, mime_type, file_extension) + select p_label, p_new_mime_type, p_extension from dual + where not exists (select 1 from cr_mime_types where mime_type = p_new_mime_type); + + update cr_content_mime_type_map set mime_type = p_new_mime_type where mime_type = p_old_mime_type; + update cr_revisions set mime_type = p_new_mime_type where mime_type = p_old_mime_type; + + insert into cr_extension_mime_type_map (extension, mime_type) + select p_extension, p_new_mime_type from dual + where not exists (select 1 from cr_extension_mime_type_map where mime_type = p_new_mime_type); + + delete from cr_mime_types where mime_type = p_old_mime_type; + return 0; +end; +$$ language 'plpgsql'; + +select inline_0('Comma separated value','csv','application/csv','text/csv'); +select inline_0('VCard','vcf','application/vcard','text/vcard'); +select inline_0('iCalendar','ics','-- dummy --','text/calendar'); + +drop function inline_0(varchar,varchar,varchar,varchar); Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d16-5.9.1d17.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d16-5.9.1d17.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d16-5.9.1d17.sql 26 May 2016 19:23:20 -0000 1.1.2.1 @@ -0,0 +1,70 @@ +-- +-- procedure content_template__new/6 +-- +CREATE OR REPLACE FUNCTION content_template__new( + new__name varchar, + new__parent_id integer, -- default null + new__template_id integer, -- default null + new__creation_date timestamptz, -- default now() + new__creation_user integer, -- default null + new__creation_ip varchar -- default null + +) RETURNS integer AS $$ +-- +-- content_template__new/6 maybe obsolete, when we define proper defaults for /8 +-- +DECLARE + v_template_id cr_templates.template_id%TYPE; + v_parent_id cr_items.parent_id%TYPE; +BEGIN + + if new__parent_id is null then + select c_root_folder_id into v_parent_id from content_template_globals; + else + v_parent_id := new__parent_id; + end if; + + -- make sure we're allowed to create a template in this folder + if content_folder__is_folder(new__parent_id) = 't' and + content_folder__is_registered(new__parent_id,'content_template','f') = 'f' then + + raise EXCEPTION '-20000: This folder does not allow templates to be created'; + + else + v_template_id := content_item__new ( + new__name, + v_parent_id, + new__template_id, + null, + new__creation_date, + new__creation_user, + null, + new__creation_ip, + 'content_item', + 'content_template', + null, -- title + null, -- description + 'text/plain', + null, -- nls_language + null, -- text + null, -- data + null, -- relation_tag + 'f', -- is_live + 'text', -- storage_type + null, -- package_id + 't' -- with_child_rels + ); + + insert into cr_templates ( + template_id + ) values ( + v_template_id + ); + + return v_template_id; + + end if; + +END; +$$ LANGUAGE plpgsql; +