Index: openacs-4/packages/acs-kernel/acs-kernel.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v diff -u -r1.17.2.4 -r1.17.2.5 --- openacs-4/packages/acs-kernel/acs-kernel.info 11 Feb 2003 17:03:29 -0000 1.17.2.4 +++ openacs-4/packages/acs-kernel/acs-kernel.info 5 Mar 2003 14:37:32 -0000 1.17.2.5 @@ -7,7 +7,7 @@ t t - + oracle postgresql @@ -17,7 +17,7 @@ 2002-10-27 OpenACS - + Index: openacs-4/packages/acs-kernel/sql/oracle/acs-install.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/acs-install.sql,v diff -u -r1.3.2.3 -r1.3.2.4 --- openacs-4/packages/acs-kernel/sql/oracle/acs-install.sql 15 Feb 2003 20:56:27 -0000 1.3.2.3 +++ openacs-4/packages/acs-kernel/sql/oracle/acs-install.sql 5 Mar 2003 14:37:46 -0000 1.3.2.4 @@ -9,7 +9,6 @@ -- declare - kernel_id apm_packages.package_id%TYPE; node_id site_nodes.node_id%TYPE; main_site_id site_nodes.node_id%TYPE; admin_id apm_packages.package_id%TYPE; @@ -20,15 +19,6 @@ schema_user varchar2(100); jobnum integer; begin - kernel_id := apm_service.new( - package_key => 'acs-kernel', - instance_name => 'ACS Kernel', - context_id => acs.magic_object_id('default_context') - ); - commit; - - apm_package.enable(kernel_id); - main_site_id := apm_service.new( package_key => 'acs-subsite', instance_name => 'Main Site', @@ -64,77 +54,6 @@ rel_type => 'membership_rel' ); - admin_id := apm_service.new ( - instance_name => 'ACS Administration', - package_key => 'acs-admin' - ); - apm_package.enable(admin_id); - - node_id := site_node.new ( - parent_id => site_node.node_id('/'), - name => 'acs-admin', - directory_p => 't', - pattern_p => 't', - object_id => admin_id - ); - - - cr_id := apm_service.new ( - instance_name => 'ACS Content Repository', - package_key => 'acs-content-repository' - ); - - node_id := site_node.new ( - parent_id => site_node.node_id('/'), - name => 'acs-content-repository', - directory_p => 't', - pattern_p => 't', - object_id => cr_id - ); - - docs_id := apm_service.new ( - instance_name => 'ACS Core Documents', - package_key => 'acs-core-docs', - context_id => main_site_id - ); - - docs_id := site_node.new ( - parent_id => site_node.node_id('/'), - name => 'doc', - directory_p => 't', - pattern_p => 't', - object_id => docs_id - ); - - api_doc_id := apm_service.new ( - instance_name => 'ACS API Browser', - package_key => 'acs-api-browser', - context_id => main_site_id - ); - - apm_package.enable(api_doc_id); - - -- Set default permissions for ACS API Browser so - -- that only users logged in can view it - - update acs_objects - set security_inherit_p = 'f' - where object_id = api_doc_id; - - acs_permission.grant_permission ( - object_id => api_doc_id, - grantee_id => acs.magic_object_id ('registered_users'), - privilege => 'read' - ); - - api_doc_id := site_node.new ( - parent_id => site_node.node_id('/'), - name => 'api-doc', - directory_p => 't', - pattern_p => 't', - object_id => api_doc_id - ); - select user into schema_user from dual; dbms_job.submit ( Index: openacs-4/packages/acs-kernel/sql/oracle/apm-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/apm-create.sql,v diff -u -r1.11 -r1.11.2.1 --- openacs-4/packages/acs-kernel/sql/oracle/apm-create.sql 23 Sep 2002 11:05:16 -0000 1.11 +++ openacs-4/packages/acs-kernel/sql/oracle/apm-create.sql 5 Mar 2003 14:37:46 -0000 1.11.2.1 @@ -233,6 +233,7 @@ content_length integer, distribution_uri varchar2(1500), distribution_date date, + auto_mount varchar(50), constraint apm_package_vers_id_name_un unique(package_key, version_name) ); @@ -352,6 +353,12 @@ When was the distribution tarball downloaded. '; +comment on column apm_package_versions.auto_mount is ' + A dir under the main site site node where an instance of the package will be mounted + automatically upon installation. Useful for site-wide services that need mounting + such as general-comments and notifications. +'; + -- Metadata for the apm_package_versions object. declare @@ -492,6 +499,31 @@ manages the order of the authors. '; +create table apm_package_callbacks ( + version_id integer + constraint apm_package_callbacks_vid_fk + references apm_package_versions(version_id) + on delete cascade, + type varchar(40), + proc varchar(300), + constraint apm_package_callbacks_vt_un + unique (version_id, type) +); + +comment on table apm_package_callbacks is ' + This table holds names of Tcl procedures to invoke at the time (before or after) the package is + installed, instantiated, or mounted. +'; + +comment on column apm_package_callbacks.proc is ' + Name of the Tcl proc. +'; + +comment on column apm_package_callbacks.type is ' + Indicates when the callback proc should be invoked, for example after-install. Valid + values are given by the Tcl proc apm_supported_callback_types. +'; + -- Ths view faciliates accessing information about package versions by joining -- the apm_package_types information and acs_object_types information (which is -- invariant across versions) with the specific version information. @@ -501,7 +533,7 @@ select v.package_key, t.package_uri, t.pretty_name, t.singleton_p, t.initial_install_p, v.version_id, v.version_name, v.version_uri, v.summary, v.description_format, v.description, v.release_date, - v.vendor, v.vendor_uri, v.enabled_p, v.installed_p, v.tagged_p, v.imported_p, v.data_model_loaded_p, + v.vendor, v.vendor_uri, v.auto_mount, v.enabled_p, v.installed_p, v.tagged_p, v.imported_p, v.data_model_loaded_p, v.activation_date, v.deactivation_date, nvl(v.content_length,0) as tarball_length, distribution_uri, distribution_date @@ -1141,6 +1173,7 @@ release_date in apm_package_versions.release_date%TYPE, vendor in apm_package_versions.vendor%TYPE, vendor_uri in apm_package_versions.vendor_uri%TYPE, + auto_mount in apm_package_versions.auto_mount%TYPE, installed_p in apm_package_versions.installed_p%TYPE default 'f', data_model_loaded_p in apm_package_versions.data_model_loaded_p%TYPE @@ -1172,6 +1205,7 @@ release_date in apm_package_versions.release_date%TYPE, vendor in apm_package_versions.vendor%TYPE, vendor_uri in apm_package_versions.vendor_uri%TYPE, + auto_mount in apm_package_versions.auto_mount%TYPE, installed_p in apm_package_versions.installed_p%TYPE default 'f', data_model_loaded_p in apm_package_versions.data_model_loaded_p%TYPE @@ -2038,6 +2072,7 @@ release_date in apm_package_versions.release_date%TYPE, vendor in apm_package_versions.vendor%TYPE, vendor_uri in apm_package_versions.vendor_uri%TYPE, + auto_mount in apm_package_versions.auto_mount%TYPE, installed_p in apm_package_versions.installed_p%TYPE default 'f', data_model_loaded_p in apm_package_versions.data_model_loaded_p%TYPE @@ -2059,11 +2094,11 @@ ); insert into apm_package_versions (version_id, package_key, version_name, version_uri, summary, description_format, description, - release_date, vendor, vendor_uri, installed_p, data_model_loaded_p) + release_date, vendor, vendor_uri, auto_mount, installed_p, data_model_loaded_p) values (v_version_id, package_key, version_name, version_uri, summary, description_format, description, - release_date, vendor, vendor_uri, + release_date, vendor, vendor_uri, auto_mount, installed_p, data_model_loaded_p); return v_version_id; end new; @@ -2125,10 +2160,10 @@ insert into apm_package_versions(version_id, package_key, version_name, version_uri, summary, description_format, description, - release_date, vendor, vendor_uri) + release_date, vendor, vendor_uri, auto_mount) select v_version_id, package_key, copy.new_version_name, copy.new_version_uri, summary, description_format, description, - release_date, vendor, vendor_uri + release_date, vendor, vendor_uri, auto_mount from apm_package_versions where version_id = copy.version_id; @@ -2141,6 +2176,11 @@ select acs_object_id_seq.nextval, v_version_id, path, file_type, db_type from apm_package_files where version_id = copy.version_id; + + insert into apm_package_callbacks (version_id, type, proc) + select v_version_id, type, proc + from apm_package_callbacks + where version_id = copy.version_id; insert into apm_package_owners(version_id, owner_uri, owner_name, sort_key) select v_version_id, owner_uri, owner_name, sort_key @@ -2163,6 +2203,7 @@ release_date in apm_package_versions.release_date%TYPE, vendor in apm_package_versions.vendor%TYPE, vendor_uri in apm_package_versions.vendor_uri%TYPE, + auto_mount in apm_package_versions.auto_mount%TYPE, installed_p in apm_package_versions.installed_p%TYPE default 'f', data_model_loaded_p in apm_package_versions.data_model_loaded_p%TYPE @@ -2196,6 +2237,7 @@ release_date = trunc(sysdate), vendor = edit.vendor, vendor_uri = edit.vendor_uri, + auto_mount = edit.auto_mount, installed_p = edit.installed_p, data_model_loaded_p = edit.data_model_loaded_p where version_id = v_version_id; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/oracle/upgrade/upgrade-4.6.1-4.6.2.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-kernel/sql/postgresql/acs-install.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/acs-install.sql,v diff -u -r1.9.4.2 -r1.9.4.3 --- openacs-4/packages/acs-kernel/sql/postgresql/acs-install.sql 11 Feb 2003 17:04:24 -0000 1.9.4.2 +++ openacs-4/packages/acs-kernel/sql/postgresql/acs-install.sql 5 Mar 2003 14:38:24 -0000 1.9.4.3 @@ -11,7 +11,6 @@ create function inline_0 () returns integer as ' declare - kernel_id apm_packages.package_id%TYPE; node_id site_nodes.node_id%TYPE; main_site_id site_nodes.node_id%TYPE; admin_id apm_packages.package_id%TYPE; @@ -23,19 +22,6 @@ jobnum integer; begin - kernel_id := apm_service__new ( - null, - ''ACS Kernel'', - ''acs-kernel'', - ''apm_service'', - now(), - null, - null, - acs__magic_object_id(''default_context'') - ); - - PERFORM apm_package__enable (kernel_id); - main_site_id := apm_service__new( null, ''Main Site'', @@ -90,135 +76,7 @@ ''read'' ); - admin_id := apm_service__new ( - null, - ''ACS Administration'', - ''acs-admin'', - ''apm_service'', - now(), - null, - null, - null - ); - PERFORM apm_package__enable (admin_id); - - node_id := site_node__new ( - null, - site_node__node_id(''/'', null), - ''acs-admin'', - admin_id, - ''t'', - ''t'', - null, - null - ); - - - acs_sc_id := apm_service__new ( - null, - ''ACS Service Contract'', - ''acs-service-contract'', - ''apm_service'', - now(), - null, - null, - null - ); - - PERFORM apm_package__enable (acs_sc_id); - - node_id := site_node__new ( - null, - site_node__node_id(''/'', null), - ''acs-service-contract'', - acs_sc_id, - ''t'', - ''t'', - null, - null - ); - - cr_id := apm_service__new ( - null, - ''ACS Content Repository'', - ''acs-content-repository'', - ''apm_service'', - now(), - null, - null, - null - ); - - PERFORM apm_package__enable (cr_id); - - node_id := site_node__new ( - null, - site_node__node_id(''/'', null), - ''acs-content-repository'', - cr_id, - ''t'', - ''t'', - null, - null - ); - - docs_id := apm_service__new ( - null, - ''ACS Core Documents'', - ''acs-core-docs'', - ''apm_service'', - now(), - null, - null, - main_site_id - ); - - node_id := site_node__new ( - null, - site_node__node_id(''/'',null), - ''doc'', - docs_id, - ''t'', - ''t'', - null, - null - ); - - api_doc_id := apm_service__new ( - null, - ''ACS API Browser'', - ''acs-api-browser'', - ''apm_service'', - now(), - null, - null, - main_site_id - ); - - PERFORM apm_package__enable (api_doc_id); - - PERFORM acs_permission__grant_permission ( - api_doc_id, - acs__magic_object_id (''registered_users''), - ''read'' - ); - - api_doc_id := site_node__new ( - null, - site_node__node_id(''/'',null), - ''api-doc'', - api_doc_id, - ''t'', - ''t'', - null, - null - ); - - update acs_objects - set security_inherit_p = ''f'' - where object_id = api_doc_id; - return null; end;' language 'plpgsql'; Index: openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql,v diff -u -r1.29.2.3 -r1.29.2.4 --- openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql 2 Mar 2003 22:33:33 -0000 1.29.2.3 +++ openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql 5 Mar 2003 14:38:24 -0000 1.29.2.4 @@ -79,16 +79,16 @@ begin -- Create a new object type for packages. PERFORM acs_object_type__create_type ( - ''apm_package'', - ''Package'', - ''Packages'', - ''acs_object'', - ''APM_PACKAGES'', - ''package_id'', - ''apm_package'', - ''f'', - ''apm_package_types'', - ''apm_package.name'' + ''apm_package'', -- object_type + ''Package'', -- pretty_name + ''Packages'', -- pretty_plural + ''acs_object'', -- supertype + ''APM_PACKAGES'', -- table_name + ''package_id'', -- id_column + ''apm_package'', -- package_name + ''f'', -- abstract_p + ''apm_package_types'', -- type_extension_table + ''apm_package.name'' -- name_method ); return 0; @@ -293,6 +293,7 @@ content_length integer, distribution_uri varchar(1500), distribution_date timestamptz, + auto_mount varchar(50), constraint apm_package_vers_id_name_un unique(package_key, version_name) ); @@ -410,6 +411,12 @@ When was the distribution tarball downloaded. '; +comment on column apm_package_versions.auto_mount is ' + A dir under the main site site node where an instance of the package will be mounted + automatically upon installation. Useful for site-wide services that need mounting + such as general-comments and notifications. +'; + -- Metadata for the apm_package_versions object. create function inline_2 () @@ -665,6 +672,31 @@ manages the order of the authors. '; +create table apm_package_callbacks ( + version_id integer + constraint apm_package_callbacks_vid_fk + references apm_package_versions(version_id) + on delete cascade, + type varchar(40), + proc varchar(300), + constraint apm_package_callbacks_vt_un + unique (version_id, type) +); + +comment on table apm_package_callbacks is ' + This table holds names of Tcl procedures to invoke at the time (before or after) the package is + installed, instantiated, or mounted. +'; + +comment on column apm_package_callbacks.proc is ' + Name of the Tcl proc. +'; + +comment on column apm_package_callbacks.type is ' + Indicates when the callback proc should be invoked, for example after-install. Valid + values are given by the Tcl proc apm_supported_callback_types. +'; + -- Ths view faciliates accessing information about package versions by joining -- the apm_package_types information and acs_object_types information (which is -- invariant across versions) with the specific version information. @@ -674,7 +706,7 @@ select v.package_key, t.package_uri, t.pretty_name, t.singleton_p, t.initial_install_p, v.version_id, v.version_name, v.version_uri, v.summary, v.description_format, v.description, v.release_date, - v.vendor, v.vendor_uri, v.enabled_p, v.installed_p, v.tagged_p, v.imported_p, v.data_model_loaded_p, + v.vendor, v.vendor_uri, v.auto_mount, v.enabled_p, v.installed_p, v.tagged_p, v.imported_p, v.data_model_loaded_p, v.activation_date, v.deactivation_date, coalesce(v.content_length,0) as tarball_length, distribution_uri, distribution_date @@ -1864,7 +1896,7 @@ end;' language 'plpgsql'; -- create or replace package body apm_package_version -create function apm_package_version__new (integer,varchar,varchar,varchar,varchar,varchar,varchar,timestamptz,varchar,varchar,boolean,boolean) returns integer as ' +create function apm_package_version__new (integer,varchar,varchar,varchar,varchar,varchar,varchar,timestamptz,varchar,varchar,varchar,boolean,boolean) returns integer as ' declare apm_pkg_ver__version_id alias for $1; -- default null apm_pkg_ver__package_key alias for $2; @@ -1876,8 +1908,9 @@ apm_pkg_ver__release_date alias for $8; apm_pkg_ver__vendor alias for $9; apm_pkg_ver__vendor_uri alias for $10; - apm_pkg_ver__installed_p alias for $11; -- default ''f'' - apm_pkg_ver__data_model_loaded_p alias for $12; -- default ''f'' + apm_pkg_ver__auto_mount alias for $11; + apm_pkg_ver__installed_p alias for $12; -- default ''f'' + apm_pkg_ver__data_model_loaded_p alias for $13; -- default ''f'' v_version_id apm_package_versions.version_id%TYPE; begin if apm_pkg_ver__version_id is null then @@ -1899,12 +1932,12 @@ insert into apm_package_versions (version_id, package_key, version_name, version_uri, summary, description_format, description, - release_date, vendor, vendor_uri, installed_p, data_model_loaded_p) + release_date, vendor, vendor_uri, auto_mount, installed_p, data_model_loaded_p) values (v_version_id, apm_pkg_ver__package_key, apm_pkg_ver__version_name, apm_pkg_ver__version_uri, apm_pkg_ver__summary, apm_pkg_ver__description_format, apm_pkg_ver__description, - apm_pkg_ver__release_date, apm_pkg_ver__vendor, apm_pkg_ver__vendor_uri, + apm_pkg_ver__release_date, apm_pkg_ver__vendor, apm_pkg_ver__vendor_uri, apm_pkg_ver__auto_mount, apm_pkg_ver__installed_p, apm_pkg_ver__data_model_loaded_p); return v_version_id; @@ -1985,10 +2018,10 @@ insert into apm_package_versions(version_id, package_key, version_name, version_uri, summary, description_format, description, - release_date, vendor, vendor_uri) + release_date, vendor, vendor_uri, auto_mount) select v_version_id, package_key, copy__new_version_name, copy__new_version_uri, summary, description_format, description, - release_date, vendor, vendor_uri + release_date, vendor, vendor_uri, auto_mount from apm_package_versions where version_id = copy__version_id; @@ -2001,6 +2034,11 @@ select nextval(''t_acs_object_id_seq''), v_version_id, path, file_type, db_type from apm_package_files where version_id = copy__version_id; + + insert into apm_package_callbacks (version_id, type, proc) + select v_version_id, type, proc + from apm_package_callbacks + where version_id = copy__version_id; if copy__copy_owners_p then insert into apm_package_owners(version_id, owner_uri, owner_name, sort_key) @@ -2015,7 +2053,7 @@ -- function edit -create function apm_package_version__edit (integer,integer,varchar,varchar,varchar,varchar,varchar,timestamptz,varchar,varchar,boolean,boolean) +create function apm_package_version__edit (integer,integer,varchar,varchar,varchar,varchar,varchar,timestamptz,varchar,varchar,varchar,boolean,boolean) returns integer as ' declare edit__new_version_id alias for $1; -- default null @@ -2028,8 +2066,9 @@ edit__release_date alias for $8; edit__vendor alias for $9; edit__vendor_uri alias for $10; - edit__installed_p alias for $11; -- default ''f'' - edit__data_model_loaded_p alias for $12; -- default ''f'' + edit__auto_mount alias for $11; + edit__installed_p alias for $12; -- default ''f'' + edit__data_model_loaded_p alias for $13; -- default ''f'' v_version_id apm_package_versions.version_id%TYPE; version_unchanged_p integer; begin @@ -2058,6 +2097,7 @@ release_date = date_trunc(''days'',now()), vendor = edit__vendor, vendor_uri = edit__vendor_uri, + auto_mount = edit__auto_mount, installed_p = edit__installed_p, data_model_loaded_p = edit__data_model_loaded_p where version_id = v_version_id; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-4.6.1-4.6.2.sql'. Fisheye: No comparison available. Pass `N' to diff?