Index: openacs-4/contrib/packages/portal/portal.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/portal.info,v diff -u -r1.10 -r1.11 --- openacs-4/contrib/packages/portal/portal.info 17 Mar 2004 02:15:51 -0000 1.10 +++ openacs-4/contrib/packages/portal/portal.info 19 Mar 2004 00:41:21 -0000 1.11 @@ -24,17 +24,16 @@ - - + - - - - - + + + + + + Index: openacs-4/contrib/packages/portal/lib/configure-configurability.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/configure-configurability.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/portal/lib/configure-configurability.tcl 16 Mar 2004 01:10:12 -0000 1.2 +++ openacs-4/contrib/packages/portal/lib/configure-configurability.tcl 19 Mar 2004 00:41:22 -0000 1.3 @@ -9,30 +9,30 @@ } ad_form -name configure-configurability -form { - {NoShadeButton:boolean(radio) + {ShowShadeButton:boolean(radio) {label "Show \"Shade\" button on portlet title bars?"} {options {{Yes 1} {No 0}}} - {help_text "\"Yes\" will supress the display of \"shade\" widgets in portlet title bars"} + {help_text "\"No\" will supress the display of \"shade\" widgets in portlet title bars"} } - {NoHideButton:boolean(radio) + {ShowHideButton:boolean(radio) {label "Show \"Hide\" button on portlet title bars?"} {options {{Yes 1} {No 0}}} - {help_text "\"Yes\" will supress the display of \"hide\" widgets in portlet title bars"} + {help_text "\"No\" will supress the display of \"hide\" widgets in portlet title bars"} } - {theme_changeable_p:boolean(radio) + {ThemeChangeable:boolean(radio) {label "Allow users to change the portlet decoration theme?"} {options {{Yes 1} {No 0}}} {help_text "\"Yes\" will allow the user to change the theme used to display their portal"} } } -on_request { - set NoShadeButton [parameter::get -boolean -parameter NoShadeButton] - set NoHideButton [parameter::get -boolean -parameter NoHideButton] - set theme_changeable_p [parameter::get -boolean -parameter ChangeableTitle] - ad_set_form_values NoShadeButton NoHideButton + set ShowShadeButton [parameter::get -boolean -parameter ShowShadeButton] + set ShowHideButton [parameter::get -boolean -parameter ShowHideButton] + set ThemeChangeable [parameter::get -boolean -parameter ThemeChangeable] + ad_set_form_values ShowShadeButton ShowHideButton } -on_submit { - parameter::set_value -parameter NoShadeButton -value $NoShadeButton - parameter::set_value -parameter NoHideButton -value $NoHideButton - parameter::set_value -parameter theme_changeable_p -value $theme_changeable_p + parameter::set_value -parameter ShowShadeButton -value $ShowShadeButton + parameter::set_value -parameter ShowHideButton -value $ShowHideButton + parameter::set_value -parameter ThemeChangeable -value $ThemeChangeable template::wizard::forward } Index: openacs-4/contrib/packages/portal/lib/configure-subsite-integration.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/configure-subsite-integration.adp,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/portal/lib/configure-subsite-integration.adp 17 Mar 2004 02:15:52 -0000 1.1 +++ openacs-4/contrib/packages/portal/lib/configure-subsite-integration.adp 19 Mar 2004 00:41:22 -0000 1.2 @@ -1,7 +1 @@ -The portal package can replace the standard acs-subsite user interface. -

If you choose to -replace the parent acs-subsite's index page with the portal index page, the only pages to visible -to the visiting user will be those protal pages you created earlier. -

If you choose to replace the parent acs-subsite's master template, both portal pages and -the pages normally displayed by the acs-subsite "tabbed" master template will be shown. Index: openacs-4/contrib/packages/portal/lib/configure-subsite-integration.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/configure-subsite-integration.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/portal/lib/configure-subsite-integration.tcl 17 Mar 2004 02:15:52 -0000 1.1 +++ openacs-4/contrib/packages/portal/lib/configure-subsite-integration.tcl 19 Mar 2004 00:41:22 -0000 1.2 @@ -5,31 +5,71 @@ } ad_form -name configure-subsite-integration -form { - {ReplaceSubsiteMasterTemplate:boolean(radio) - {options {{Yes 1} {No 0}}} - {label "Replace parent subsite master template?"} + {template_style:integer(radio) + {options {{"Tabbed navigation with portal page tabs integrated with + subsite applications tabs" 0} + {"Tabbed subsite navigation with nested portal page tabs" 1} + {"Portal page tabs with existing subsite master template" 2}}} + {values {0}} + {label "Choose navigation style?"} + {help_text "Warning - the first two options will change this subsite's master template"} } - {PortalIndexPage:boolean(radio) + {portal_index_page_p:boolean(radio) {options {{Yes 1} {No 0}}} + {values {1}} {label "Should the parent subsite serve the portal package as its index page?"} } -} -on_request { - set ReplaceSubsiteMasterTemplate 0 - set PortalIndexPage 0 - ad_set_form_values ReplaceSubsiteMasterTemplate PortalIndexPage -} -validate { - {PortalIndexPage - { !($ReplaceSubsiteMasterTemplate && $PortalIndexPage) } - "You can only say \"Yes\" to one of these options." - } } -on_submit { - if { $ReplaceSubsiteMasterTemplate } { - parameter::set_value \ - -parameter DefaultMaster \ - -package_id [ad_conn subsite_id] \ - -value /packages/portal/lib/master + + switch $template_style { + + 0 {parameter::set_value \ + -parameter DefaultMaster \ + -package_id [ad_conn subsite_id] \ + -value /packages/portal/lib/tabbed-master + + parameter::set_value \ + -parameter OurMasterTemplate \ + -package_id [ad_conn package_id] \ + -value /packages/portal/lib/tabbed-master + + parameter::set_value \ + -parameter SiteMasterTemplate \ + -package_id [ad_conn package_id] \ + -value /www/site-master + + parameter::set_value \ + -parameter NavbarClass \ + -package_id [ad_conn package_id] \ + -value navbar + + } + + 1 {parameter::set_value \ + -parameter DefaultMaster \ + -package_id [ad_conn subsite_id] \ + -value /packages/acs-subsite/www/group-master + + parameter::set_value \ + -parameter OurMasterTemplate \ + -package_id [ad_conn package_id] \ + -value /packages/portal/lib/plain-master + + parameter::set_value \ + -parameter NavbarClass \ + -package_id [ad_conn package_id] \ + -value subnavbar + } + + 2 {parameter::set_value \ + -parameter OurMasterTemplate \ + -package_id [ad_conn package_id] \ + -value /packages/portal/lib/plain-master + } + } - if { $PortalIndexPage } { + + if { $portal_index_page_p } { parameter::set_value \ -parameter IndexRedirectUrl \ -package_id [ad_conn subsite_id] \ Index: openacs-4/contrib/packages/portal/lib/plain-master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/plain-master.adp,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/portal/lib/plain-master.adp 18 Mar 2004 00:31:32 -0000 1.2 +++ openacs-4/contrib/packages/portal/lib/plain-master.adp 19 Mar 2004 00:41:22 -0000 1.3 @@ -1,4 +1,4 @@ - + @signatory;noquote@ Index: openacs-4/contrib/packages/portal/lib/portal-configure.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/portal-configure.adp,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/portal/lib/portal-configure.adp 13 Mar 2004 00:40:26 -0000 1.2 +++ openacs-4/contrib/packages/portal/lib/portal-configure.adp 19 Mar 2004 00:41:22 -0000 1.3 @@ -40,7 +40,7 @@ - +

Index: openacs-4/contrib/packages/portal/lib/tabbed-master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/tabbed-master.adp,v diff -u -r1.3 -r1.4 --- openacs-4/contrib/packages/portal/lib/tabbed-master.adp 18 Mar 2004 18:14:13 -0000 1.3 +++ openacs-4/contrib/packages/portal/lib/tabbed-master.adp 19 Mar 2004 00:41:22 -0000 1.4 @@ -1,4 +1,4 @@ - + @title;noquote@ Index: openacs-4/contrib/packages/portal/lib/tabbed-master.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/lib/tabbed-master.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/contrib/packages/portal/lib/tabbed-master.tcl 18 Mar 2004 18:14:13 -0000 1.3 +++ openacs-4/contrib/packages/portal/lib/tabbed-master.tcl 19 Mar 2004 00:41:22 -0000 1.4 @@ -27,43 +27,40 @@ set package_id [site_node::get_object_id -node_id [site_node::get_node_id -url $portal_url]] set portal_page_p 0 -if { ![string equal $package_id ""] } { +set user_portal_id [portal::get_user_portal_id -package_id $package_id] +set which_navbar [parameter::get -package_id $package_id -parameter NavbarClass] +set portal_url [site_node::get_url_from_object_id -object_id $package_id] +array set theme [portal::theme::get -theme_id [portal::get_theme_id -portal_id $user_portal_id]] +set theme_filename $theme(filename) +set theme_resource_dir $theme(resource_dir) +set master_template [parameter::get -package_id $package_id -parameter SiteMasterTemplate] - set user_portal_id [portal::get_user_portal_id -package_id $package_id] - set which_navbar [parameter::get -package_id $package_id -parameter NavbarClass] - set portal_url [site_node::get_url_from_object_id -object_id $package_id] - array set theme [portal::theme::get -theme_id [portal::get_theme_id -portal_id $user_portal_id]] - set theme_filename $theme(filename) - set theme_resource_dir $theme(resource_dir) +db_multirow -unclobber -extend {url} portal_pages select_user_portal_pages {} { + set url [export_vars -base $portal_url {portal_id page_num}] + if { [string equal $url $portal_url] } { + set portal_page_p 1 + } +} - db_multirow -unclobber -extend {url} portal_pages select_user_portal_pages {} { +if { [permission::permission_p \ + -object_id [portal::get_admin_portal_id -package_id $package_id] \ + -privilege admin] } { + db_multirow -unclobber -append -extend {url} portal_pages select_admin_portal_pages {} { set url [export_vars -base $portal_url {portal_id page_num}] if { [string equal $url $portal_url] } { set portal_page_p 1 } } +} - if { [permission::permission_p \ - -object_id [portal::get_admin_portal_id -package_id $package_id] \ - -privilege admin] } { - db_multirow -unclobber -append -extend {url} portal_pages select_admin_portal_pages {} { - set url [export_vars -base $portal_url {portal_id page_num}] - if { [string equal $url $portal_url] } { - set portal_page_p 1 - } - } - } +array set site_node [site_node::get_from_url \ + -url [ad_conn package_url] \ + -exact] - array set site_node [site_node::get_from_url \ - -url [ad_conn package_url] \ - -exact] - - if { $site_node(parent_id) == $package_id } { - set application $site_node(instance_name) - } elseif {$site_node(object_id) == $package_id } { - set portal_page_p 1 - } - +if { $site_node(parent_id) == $package_id } { + set application $site_node(instance_name) +} elseif {$site_node(object_id) == $package_id } { + set portal_page_p 1 } Index: openacs-4/contrib/packages/portal/tcl/portal-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/tcl/portal-procs.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/contrib/packages/portal/tcl/portal-procs.tcl 18 Mar 2004 00:51:13 -0000 1.22 +++ openacs-4/contrib/packages/portal/tcl/portal-procs.tcl 19 Mar 2004 00:41:23 -0000 1.23 @@ -79,7 +79,7 @@ db_transaction { set var_list [subst { - {name $name} + {name "$name"} {template_id $template_id} {context_id $context_id} {owner_id $owner_id} @@ -180,7 +180,7 @@ set master_template_id [portal::get_master_template_id -package_id $package_id] set portal_id [portal::new \ - -owner_id :owner_id \ + -owner_id $owner_id \ -name "Portal for $user_name" \ -template_id $master_template_id \ -context_id [ad_conn package_id] \ Index: openacs-4/contrib/packages/portal/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/index.adp,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/portal/www/index.adp 17 Mar 2004 02:15:53 -0000 1.2 +++ openacs-4/contrib/packages/portal/www/index.adp 19 Mar 2004 00:41:23 -0000 1.3 @@ -1,10 +1,4 @@ - - - - - - - + @page_num@ @portal_id@ @user_portal_id@ Index: openacs-4/contrib/packages/portal/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/index.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/contrib/packages/portal/www/index.tcl 17 Mar 2004 02:15:53 -0000 1.3 +++ openacs-4/contrib/packages/portal/www/index.tcl 19 Mar 2004 00:41:23 -0000 1.4 @@ -13,7 +13,7 @@ {portal_id:integer,optional ""} } -set master_template [parameter::get -parameter MasterTemplate] +set master_template [parameter::get -parameter OurMasterTemplate] set user_portal_id [portal::get_user_portal_id] if { [string equal $portal_id ""] } { set portal_id $user_portal_id Index: openacs-4/contrib/packages/portal/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/admin/index.adp,v diff -u -r1.3 -r1.4 --- openacs-4/contrib/packages/portal/www/admin/index.adp 13 Feb 2004 20:00:46 -0000 1.3 +++ openacs-4/contrib/packages/portal/www/admin/index.adp 19 Mar 2004 00:41:23 -0000 1.4 @@ -3,8 +3,11 @@ @context;noquote@
    +
  • Run the configuration wizard
  • Edit the portal master -
  • Edit user portals + +
  • Edit user portals +
  • Add new portalled applications Index: openacs-4/contrib/packages/portal/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/admin/index.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/contrib/packages/portal/www/admin/index.tcl 13 Mar 2004 00:40:27 -0000 1.8 +++ openacs-4/contrib/packages/portal/www/admin/index.tcl 19 Mar 2004 00:41:23 -0000 1.9 @@ -34,6 +34,7 @@ set edit_portal_template_url \ [export_vars -base ../portal-configure \ {{referer index} {portal_id [portal::get_master_template_id]}}] +set user_portals_p [parameter::get -parameter CreatePrivatePortals] db_1row count_uninstalled_applications {} ad_return_template Index: openacs-4/contrib/packages/portal/www/admin/user-portals.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/admin/user-portals.adp,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/portal/www/admin/user-portals.adp 12 Mar 2004 04:54:04 -0000 1.1 +++ openacs-4/contrib/packages/portal/www/admin/user-portals.adp 19 Mar 2004 00:41:23 -0000 1.2 @@ -21,19 +21,15 @@ Welcome to Portals -

    - -Portals in the system: - -

    - - You have not configured any portals. + There are no personal portals in the system. + Portals in the system: +

    Index: openacs-4/contrib/packages/portal/www/admin/user-portals.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/admin/user-portals.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/portal/www/admin/user-portals.tcl 12 Mar 2004 04:54:04 -0000 1.1 +++ openacs-4/contrib/packages/portal/www/admin/user-portals.tcl 19 Mar 2004 00:41:23 -0000 1.2 @@ -26,8 +26,4 @@ set package_id [ad_conn package_id] db_multirow portals get_portals {} -if { ${portals:rowcount} == 0 } { - ad_returnredirect configure -} - ad_return_template Index: openacs-4/contrib/packages/portal/www/admin/user-portals.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/portal/www/admin/user-portals.xql,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/portal/www/admin/user-portals.xql 12 Mar 2004 04:54:04 -0000 1.1 +++ openacs-4/contrib/packages/portal/www/admin/user-portals.xql 19 Mar 2004 00:41:23 -0000 1.2 @@ -4,9 +4,10 @@ - select portal_id, name, template_id + select portal_id, name from portals where package_id = :package_id + and template_id is not null