Index: openacs-4/packages/dotlrn/dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/dotlrn.info,v diff -u -N -r1.125.2.1 -r1.125.2.2 --- openacs-4/packages/dotlrn/dotlrn.info 5 Jan 2007 13:50:56 -0000 1.125.2.1 +++ openacs-4/packages/dotlrn/dotlrn.info 29 Mar 2007 19:20:57 -0000 1.125.2.2 @@ -7,18 +7,18 @@ f f - + OpenACS A Course Management System 2006-12-31 OpenACS Course Management - + - + @@ -39,12 +39,12 @@ - + - + @@ -71,13 +71,13 @@ - + - + Index: openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml,v diff -u -N -r1.47.2.10 -r1.47.2.11 --- openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 29 Mar 2007 14:55:39 -0000 1.47.2.10 +++ openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 29 Mar 2007 19:20:57 -0000 1.47.2.11 @@ -93,17 +93,24 @@ %classes_pretty_name% Name %class_instances_pretty_name% Name Calendar + C File Storage + F Class Home + H Classes Subject Subjects Closed c Calendar + C File Storage + F Community Home + H People + P %clubs_pretty_name% Name Community Communities @@ -633,9 +640,13 @@ Student Students Calendar + C Files + F Subgroup Home + H Subgroup Info + I c Subgroup Subgroups @@ -683,8 +694,11 @@ User ID User Management My Calendar + C My Files + F My Space + H User User Search User Type Index: openacs-4/packages/new-portal/sql/oracle/api-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/api-create.sql,v diff -u -N -r1.42.2.2 -r1.42.2.3 --- openacs-4/packages/new-portal/sql/oracle/api-create.sql 29 Mar 2007 00:43:38 -0000 1.42.2.2 +++ openacs-4/packages/new-portal/sql/oracle/api-create.sql 29 Mar 2007 19:20:57 -0000 1.42.2.3 @@ -164,6 +164,7 @@ layout_id in portal_layouts.layout_id%TYPE default null, template_id in portals.template_id%TYPE default null, default_page_name in portal_pages.pretty_name%TYPE default 'Main Page', + default_accesskey in portal_pages.accesskey%TYPE default null, object_type in acs_object_types.object_type%TYPE default 'portal', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, @@ -187,6 +188,7 @@ layout_id in portal_layouts.layout_id%TYPE default null, template_id in portals.template_id%TYPE default null, default_page_name in portal_pages.pretty_name%TYPE default 'Main Page', + default_accesskey in portal_pages.accesskey%TYPE default null, object_type in acs_object_types.object_type%TYPE default 'portal', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, @@ -239,6 +241,7 @@ v_page_id := portal_page.new ( portal_id => v_portal_id, pretty_name => default_page_name, + accesskey => default_accesskey, layout_id => v_layout_id, creation_date => creation_date, creation_user => creation_user, @@ -270,6 +273,7 @@ v_page_id := portal_page.new( portal_id => v_portal_id, pretty_name => page.pretty_name, + accesskey => page.accesskey, layout_id => page.layout_id ); Index: openacs-4/packages/new-portal/sql/oracle/upgrade/upgrade-2.3.0d3-2.3.0d4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/upgrade/upgrade-2.3.0d3-2.3.0d4.sql,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/new-portal/sql/oracle/upgrade/upgrade-2.3.0d3-2.3.0d4.sql 29 Mar 2007 01:14:07 -0000 1.1.2.2 +++ openacs-4/packages/new-portal/sql/oracle/upgrade/upgrade-2.3.0d3-2.3.0d4.sql 29 Mar 2007 19:20:57 -0000 1.1.2.3 @@ -130,3 +130,195 @@ end portal_page; / show errors + +create or replace package portal +as + + function new ( + portal_id in portals.portal_id%TYPE default null, + name in portals.name%TYPE default 'Untitled', + theme_id in portals.theme_id%TYPE default null, + layout_id in portal_layouts.layout_id%TYPE default null, + template_id in portals.template_id%TYPE default null, + default_page_name in portal_pages.pretty_name%TYPE default 'Main Page', + default_accesskey in portal_pages.accesskey%TYPE default null, + object_type in acs_object_types.object_type%TYPE default 'portal', + creation_date in acs_objects.creation_date%TYPE default sysdate, + creation_user in acs_objects.creation_user%TYPE default null, + creation_ip in acs_objects.creation_ip%TYPE default null, + context_id in acs_objects.context_id%TYPE default null + ) return portals.portal_id%TYPE; + + procedure del ( + portal_id in portals.portal_id%TYPE + ); +end portal; +/ +show errors + +create or replace package body portal +as + function new ( + portal_id in portals.portal_id%TYPE default null, + name in portals.name%TYPE default 'Untitled', + theme_id in portals.theme_id%TYPE default null, + layout_id in portal_layouts.layout_id%TYPE default null, + template_id in portals.template_id%TYPE default null, + default_page_name in portal_pages.pretty_name%TYPE default 'Main Page', + default_accesskey in portal_pages.accesskey%TYPE default null, + object_type in acs_object_types.object_type%TYPE default 'portal', + creation_date in acs_objects.creation_date%TYPE default sysdate, + creation_user in acs_objects.creation_user%TYPE default null, + creation_ip in acs_objects.creation_ip%TYPE default null, + context_id in acs_objects.context_id%TYPE default null + ) return portals.portal_id%TYPE + is + v_portal_id portals.portal_id%TYPE; + v_theme_id portals.theme_id%TYPE; + v_layout_id portal_layouts.layout_id%TYPE; + v_page_id portal_pages.page_id%TYPE; + v_new_element_id portal_element_map.element_id%TYPE; + v_new_parameter_id portal_element_parameters.parameter_id%TYPE; + begin + + v_portal_id := acs_object.new( + object_id => portal_id, + object_type => object_type, + creation_date => creation_date, + creation_user => creation_user, + creation_ip => creation_ip, + context_id => context_id + ); + + if template_id is null then + + if portal.new.theme_id is null then + select max(theme_id) + into v_theme_id + from portal_element_themes; + else + v_theme_id := portal.new.theme_id; + end if; + + if layout_id is null then + select min(layout_id) + into v_layout_id + from portal_layouts; + else + v_layout_id := portal.new.layout_id; + end if; + + insert + into portals + (portal_id, name, theme_id) + values + (v_portal_id, name, v_theme_id); + + -- now insert the default page + v_page_id := portal_page.new ( + portal_id => v_portal_id, + pretty_name => default_page_name, + accesskey => default_accesskey, + layout_id => v_layout_id, + creation_date => creation_date, + creation_user => creation_user, + creation_ip => creation_ip, + context_id => context_id + ); + + else + + -- we have a portal as our template. copy it's theme, pages, layouts, + -- elements, and element params. + select theme_id + into v_theme_id + from portals + where portal_id = portal.new.template_id; + + insert + into portals + (portal_id, name, theme_id, template_id) + values + (v_portal_id, name, v_theme_id, portal.new.template_id); + + -- now insert the pages from the portal template + for page in (select * + from portal_pages + where portal_id = portal.new.template_id) + loop + + v_page_id := portal_page.new( + portal_id => v_portal_id, + pretty_name => page.pretty_name, + accesskey => page.accesskey, + layout_id => page.layout_id + ); + + -- now get the elements on the template's page and put them on the new page + for element in (select * + from portal_element_map + where page_id = page.page_id) + loop + + select acs_object_id_seq.nextval + into v_new_element_id + from dual; + + insert + into portal_element_map + (element_id, name, pretty_name, page_id, datasource_id, region, state, sort_key) + select v_new_element_id, name, pretty_name, v_page_id, datasource_id, region, state, sort_key + from portal_element_map pem + where pem.element_id = element.element_id; + + -- now for the element's params + for param in (select * + from portal_element_parameters + where element_id = element.element_id) + loop + + select acs_object_id_seq.nextval + into v_new_parameter_id + from dual; + + insert + into portal_element_parameters + (parameter_id, element_id, config_required_p, configured_p, key, value) + select v_new_parameter_id, v_new_element_id, config_required_p, configured_p, key, value + from portal_element_parameters + where parameter_id = param.parameter_id; + + end loop; + + end loop; + + end loop; + + end if; + + return v_portal_id; + + end new; + + procedure del ( + portal_id in portals.portal_id%TYPE + ) + is + begin + + for page in (select page_id + from portal_pages + where portal_id = portal.del.portal_id + order by sort_key desc) + loop + portal_page.del(page_id => page.page_id); + end loop; + + acs_object.del(portal_id); + + end del; + +end portal; +/ +show errors + Index: openacs-4/packages/new-portal/sql/postgresql/api-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/postgresql/api-create.sql,v diff -u -N -r1.14.2.4 -r1.14.2.5 --- openacs-4/packages/new-portal/sql/postgresql/api-create.sql 29 Mar 2007 14:58:10 -0000 1.14.2.4 +++ openacs-4/packages/new-portal/sql/postgresql/api-create.sql 29 Mar 2007 19:20:58 -0000 1.14.2.5 @@ -130,9 +130,9 @@ end;' language 'plpgsql'; -select define_function_args('portal__new','portal_id,name,theme_id,layout_id,template_id,default_page_name,object_type;portal,creation_date,creation_user,creation_ip,context_id'); +select define_function_args('portal__new','portal_id,name,theme_id,layout_id,template_id,default_page_name,default_accesskey,object_type;portal,creation_date,creation_user,creation_ip,context_id'); -create function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,timestamptz,integer,varchar,integer) +create function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,varchar,timestamptz,integer,varchar,integer) returns integer as ' declare p_portal_id alias for $1; @@ -141,11 +141,12 @@ p_layout_id alias for $4; p_template_id alias for $5; p_default_page_name alias for $6; - p_object_type alias for $7; - p_creation_date alias for $8; - p_creation_user alias for $9; - p_creation_ip alias for $10; - p_context_id alias for $11; + p_default_accesskey alias for $7; + p_object_type alias for $8; + p_creation_date alias for $9; + p_creation_user alias for $10; + p_creation_ip alias for $11; + p_context_id alias for $12; v_portal_id portals.portal_id%TYPE; v_theme_id portals.theme_id%TYPE; v_layout_id portal_layouts.layout_id%TYPE; @@ -195,7 +196,7 @@ v_page_id := portal_page__new( null, p_default_page_name, - null, + p_default_accesskey, v_portal_id, v_layout_id, ''f'', @@ -230,6 +231,7 @@ v_page_id := portal_page__new( null, v_page.pretty_name, + v_page.accesskey, v_portal_id, v_page.layout_id, ''f'', Index: openacs-4/packages/new-portal/sql/postgresql/upgrade/upgrade-2.3.0d3-2.3.0d4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/postgresql/upgrade/upgrade-2.3.0d3-2.3.0d4.sql,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/new-portal/sql/postgresql/upgrade/upgrade-2.3.0d3-2.3.0d4.sql 29 Mar 2007 14:58:10 -0000 1.1.2.3 +++ openacs-4/packages/new-portal/sql/postgresql/upgrade/upgrade-2.3.0d3-2.3.0d4.sql 29 Mar 2007 19:20:58 -0000 1.1.2.4 @@ -2,7 +2,7 @@ select define_function_args('portal_page__new','page_id,pretty_name,accesskey,portal_id,layout_id,hidden_p,object_type;portal_page,creation_date,creation_user,creation_ip,context_id'); ---drop function portal_page__new (integer,varchar,integer,integer,char,varchar,timestamptz,integer,varchar,integer); +drop function portal_page__new (integer,varchar,integer,integer,char,varchar,timestamptz,integer,varchar,integer); create or replace function portal_page__new (integer,char,varchar,integer,integer,char,varchar,timestamptz,integer,varchar,integer) returns integer as ' @@ -55,7 +55,9 @@ end;' language 'plpgsql'; -create or replace function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,timestamptz,integer,varchar,integer) +select define_function_args('portal__new','portal_id,name,theme_id,layout_id,template_id,default_page_name,default_accesskey,object_type;portal,creation_date,creation_user,creation_ip,context_id'); + +create function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,varchar,timestamptz,integer,varchar,integer) returns integer as ' declare p_portal_id alias for $1; @@ -64,11 +66,12 @@ p_layout_id alias for $4; p_template_id alias for $5; p_default_page_name alias for $6; - p_object_type alias for $7; - p_creation_date alias for $8; - p_creation_user alias for $9; - p_creation_ip alias for $10; - p_context_id alias for $11; + p_default_accesskey alias for $7; + p_object_type alias for $8; + p_creation_date alias for $9; + p_creation_user alias for $10; + p_creation_ip alias for $11; + p_context_id alias for $12; v_portal_id portals.portal_id%TYPE; v_theme_id portals.theme_id%TYPE; v_layout_id portal_layouts.layout_id%TYPE; @@ -118,7 +121,7 @@ v_page_id := portal_page__new( null, p_default_page_name, - null, + p_default_accesskey, v_portal_id, v_layout_id, ''f'', @@ -153,6 +156,7 @@ v_page_id := portal_page__new( null, v_page.pretty_name, + v_page.accesskey, v_portal_id, v_page.layout_id, ''f'', Index: openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql,v diff -u -N -r1.21.12.2 -r1.21.12.3 --- openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql 29 Mar 2007 14:58:10 -0000 1.21.12.2 +++ openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql 29 Mar 2007 19:20:58 -0000 1.21.12.3 @@ -11,6 +11,7 @@ layout_id => :layout_id, template_id => :template_id, default_page_name => :default_page_name, + default_accesskey => default_accesskey, theme_id => :theme_id, context_id => :context_id ); Index: openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql,v diff -u -N -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql 29 Mar 2007 00:43:38 -0000 1.10.2.1 +++ openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql 29 Mar 2007 19:20:58 -0000 1.10.2.2 @@ -12,6 +12,7 @@ :layout_id, :template_id, :default_page_name, + :default_accesskey, 'portal', now(), null, Index: openacs-4/packages/new-portal/tcl/portal-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs.tcl,v diff -u -N -r1.179.2.15 -r1.179.2.16 --- openacs-4/packages/new-portal/tcl/portal-procs.tcl 29 Mar 2007 14:58:10 -0000 1.179.2.15 +++ openacs-4/packages/new-portal/tcl/portal-procs.tcl 29 Mar 2007 19:20:58 -0000 1.179.2.16 @@ -129,7 +129,8 @@ {-template_id ""} {-layout_name ""} {-theme_name ""} - {-default_page_name ""} + {-default_page_name "Page 1"} + {-default_accesskey "1"} {-context_id ""} {-csv_list ""} user_id @@ -144,8 +145,8 @@ # page_name2, layout2...", we get the required first page_name # and first page layout from it, overriding any other params - set page_name_list [list "Page 1"] - set page_accesskey_list [list "1"] + set page_name_list [list $default_page_name] + set page_accesskey_list [list $default_accesskey] set layout_name_list [list "#new-portal.simple_2column_layout_name#"] if {![empty_string_p $csv_list]} { Index: openacs-4/packages/theme-zen/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/tcl/apm-callback-procs.tcl,v diff -u -N -r1.1.2.8 -r1.1.2.9 --- openacs-4/packages/theme-zen/tcl/apm-callback-procs.tcl 29 Mar 2007 18:23:49 -0000 1.1.2.8 +++ openacs-4/packages/theme-zen/tcl/apm-callback-procs.tcl 29 Mar 2007 19:20:58 -0000 1.1.2.9 @@ -120,7 +120,7 @@ package_exec_plsql -var_list $var_list portal_layout add_region set var_list [list \ - [list name "#theme-zen.Zen-Theme#"] \ + [list name "#theme-zen.Zen_Theme#"] \ [list description "#theme-zen.Zen_Theme#"] \ [list filename ../../theme-zen/lib/themes/zen-theme] \ [list resource_dir ../../theme-zen/lib/themes/zen-theme]