Index: openacs-4/packages/lors/sql/postgresql/lors-imscp-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors/sql/postgresql/lors-imscp-create.sql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/lors/sql/postgresql/lors-imscp-create.sql 24 Feb 2005 18:41:12 -0000 1.4 +++ openacs-4/packages/lors/sql/postgresql/lors-imscp-create.sql 21 Apr 2005 15:36:29 -0000 1.5 @@ -88,21 +88,7 @@ ----- -- Create tables ---- --- Presentations -create table lors_available_presentation_formats ( - presentation_name varchar(100), - folder_name varchar(100), - presentation_id integer -); -insert into lors_available_presentation_formats values ('Classic style','delivery_clasico',1); -insert into lors_available_presentation_formats values ('E-LANE style','delivery',2); - -comment on table lors_available_presentation_formats is ' -This table stores the available presentation formats for the courses. Its contains the pretty name -for the format, an id, and the folder in packages/lorsm/www/ where the presentation is stored -by now, just two presentations, which we store on creation'; - -- Manifests create table ims_cp_manifests ( man_id integer Index: openacs-4/packages/lors/sql/postgresql/lors-imscp-package-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors/sql/postgresql/lors-imscp-package-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/lors/sql/postgresql/lors-imscp-package-create.sql 4 Sep 2004 14:04:07 -0000 1.2 +++ openacs-4/packages/lors/sql/postgresql/lors-imscp-package-create.sql 21 Apr 2005 15:36:29 -0000 1.3 @@ -38,26 +38,28 @@ varchar, -- creation_ip integer, -- package_id integer, -- community_id - varchar -- class_key + varchar, -- class_key + integer -- course_presentation_format ) returns integer as ' declare - p_man_id alias for $1; - p_course_name alias for $2; - p_identifier alias for $3; - p_version alias for $4; - p_orgs_default alias for $5; - p_hasmetadata alias for $6; - p_parent_man_id alias for $7; - p_isscorm alias for $8; - p_folder_id alias for $9; - p_fs_package_id alias for $10; - p_creation_date alias for $11; - p_creation_user alias for $12; - p_creation_ip alias for $13; - p_package_id alias for $14; - p_community_id alias for $15; - p_class_key alias for $16; + p_man_id alias for $1; + p_course_name alias for $2; + p_identifier alias for $3; + p_version alias for $4; + p_orgs_default alias for $5; + p_hasmetadata alias for $6; + p_parent_man_id alias for $7; + p_isscorm alias for $8; + p_folder_id alias for $9; + p_fs_package_id alias for $10; + p_creation_date alias for $11; + p_creation_user alias for $12; + p_creation_ip alias for $13; + p_package_id alias for $14; + p_community_id alias for $15; + p_class_key alias for $16; + p_course_presentation_format alias for $17; v_man_id integer; begin @@ -72,9 +74,9 @@ ); insert into ims_cp_manifests - (man_id, course_name, identifier, version, orgs_default, hasmetadata, parent_man_id, isscorm, folder_id, fs_package_id) + (man_id, course_name, identifier, version, orgs_default, hasmetadata, parent_man_id, isscorm, folder_id, fs_package_id, course_presentation_format) values - (v_man_id, p_course_name, p_identifier, p_version, p_orgs_default, p_hasmetadata, p_parent_man_id, p_isscorm, p_folder_id, p_fs_package_id); + (v_man_id, p_course_name, p_identifier, p_version, p_orgs_default, p_hasmetadata, p_parent_man_id, p_isscorm, p_folder_id, p_fs_package_id, p_course_presentation_format); -- now we add it to the manifest_class relation table Index: openacs-4/packages/lors/sql/postgresql/upgrade/upgrade-0.6d-0.7d.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors/sql/postgresql/upgrade/Attic/upgrade-0.6d-0.7d.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lors/sql/postgresql/upgrade/upgrade-0.6d-0.7d.sql 21 Apr 2005 15:36:29 -0000 1.1 @@ -0,0 +1,108 @@ +-- +-- packages/lors/sql/postgresql/upgrade/upgrade-0.6d-0.7d.sql +-- +-- @author jopezku@gmail.com +-- @cvs-id $Id: upgrade-0.6d-0.7d.sql,v 1.1 2005/04/21 15:36:29 josee Exp $ +-- + +-- Adds the option to show a course with different presentation formats +-- + +-- delete unused table + +drop table lors_available_presentation_formats; + +-- Course presentation formats + +create table lorsm_course_presentation_formats ( + format_id integer + constraint lorsm_cpformats_pk + primary key, + format_pretty_name varchar(200), + format_name varchar(100), + folder_name varchar(100) +); + +create index lorsm_cpformats__format_id_idx on lorsm_course_presentation_formats (format_id); + +comment on table lorsm_course_presentation_formats is ' +This table stores the available presentation formats for the courses. Its contains the pretty name +for the format, an id, and the folder in packages/lorsm/www/ where the presentation format is stored. +Currently just two presentation formats exists, delivery and delivery-wihout-index, which we store on creation'; + +--Change presentation_id to format_id. +alter table ims_cp_manifests rename column presentation_id to course_presentation_format; + + +-- Include new field in creation function +create or replace function ims_manifest__new ( + integer, -- manifest_id + varchar, -- course_name + varchar, -- identifier + varchar, -- version + varchar, -- orgs_default + boolean, -- hasmetadata + integer, -- parent_man_id + boolean, -- isscorm + integer, -- folder_id + integer, -- fs_package_id + timestamp with time zone, -- creation_date + integer, -- creation_user + varchar, -- creation_ip + integer, -- package_id + integer, -- community_id + varchar, -- class_key + integer -- course_presentation_format +) +returns integer as ' +declare + p_man_id alias for $1; + p_course_name alias for $2; + p_identifier alias for $3; + p_version alias for $4; + p_orgs_default alias for $5; + p_hasmetadata alias for $6; + p_parent_man_id alias for $7; + p_isscorm alias for $8; + p_folder_id alias for $9; + p_fs_package_id alias for $10; + p_creation_date alias for $11; + p_creation_user alias for $12; + p_creation_ip alias for $13; + p_package_id alias for $14; + p_community_id alias for $15; + p_class_key alias for $16; + p_course_presentation_format alias for $17; + + v_man_id integer; +begin + v_man_id := acs_object__new ( + p_man_id, -- object_id + ''ims_manifest'', -- object_type + p_creation_date, -- creation_date + p_creation_user, -- creation_user + p_creation_ip, -- creation_ip + p_package_id, -- context_id + ''t'' -- security_inherit_p + ); + + insert into ims_cp_manifests + (man_id, course_name, identifier, version, orgs_default, hasmetadata, parent_man_id, isscorm, folder_id, fs_package_id, course_presentation_format) + values + (v_man_id, p_course_name, p_identifier, p_version, p_orgs_default, p_hasmetadata, p_parent_man_id, p_isscorm, p_folder_id, p_fs_package_id, p_course_presentation_format); + + -- now we add it to the manifest_class relation table + + insert into ims_cp_manifest_class + (man_id, lorsm_instance_id, community_id, class_key, isenabled, istrackable) + values + (v_man_id, p_package_id, p_community_id, p_class_key, ''t'', ''f''); + + + return v_man_id; +end; +' language 'plpgsql'; + + + + Index: openacs-4/packages/lors/tcl/lors-imscp-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors/tcl/lors-imscp-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/lors/tcl/lors-imscp-procs.tcl 17 Nov 2004 22:43:58 -0000 1.4 +++ openacs-4/packages/lors/tcl/lors-imscp-procs.tcl 21 Apr 2005 15:36:29 -0000 1.5 @@ -193,6 +193,7 @@ {-community_id ""} {-user_id ""} {-creation_ip ""} + {-course_presentation_format "-1"} } { Inserts a new manifest according to the imsmanifest.xml file. @@ -252,7 +253,8 @@ :creation_ip, :package_id, :community_id, - :class_key + :class_key, + :course_presentation_format ); }