Disclaimer:
The following instructions assume that you are more or less familiar with CVS, the ]po[ Package Manager and eventually some minor coding. You should be always aware of the consequences the instructions have on your instance of ]po[. In doubt please contact support.
1) Make sure you have installed the following packages and "cvs update" them if necessary:
2) CVS update /packages/intranet-core/www/images
cd /web/projop/packages/intranet-core/www/images cvs update -dPA
3) Create a symbolic link to the SENCHA libs:
cd /web/projop/www/ ln -s ../packages/intranet-sencha/www/resources/ ./resources
3) CVS update /packages/intranet-core/www/js
cd /web/projop/packages/intranet-core/www/js cvs update -dPA
As always: Please perform a backup of the DB and the web/projop/packages folder before any new installation.
Please note that in the instructions given below, some backup-files are created for easy roll-back.
This installation procedure has been tested for version 3.5.
Versions < 3.5 have not been tested, please get in touch with us in case installation fails.
1.) Open a console, login as user projop and checkout package "intranet-customer-portal", login as user projop
su - projop cd /web/projop/packages/ cvs checkout -r HEAD intranet-customer-portal
2.) Checkout package "intranet-sencha"
cd /web/projop/packages/ cvs checkout -r HEAD intranet-sencha
3) Use Package Manager to install both packages:
http://[YOUR_SERVER]/acs-admin/apm/
When prompted: Requires intranet-core of version >= 4.0.1.0.0. please check: "Force the install"
4) Create a symbolic link to the SENCHA libs:
cd /web/projop/www/ ln -s ../packages/intranet-sencha/www/resources/ ./resources
5) cvs update file intranet-design-procs
cd /web/projop/packages/intranet-core/tcl/ cp intranet-design-procs.tcl intranet-design-procs.tcl.bak cvs update -r b3-5-0-patches intranet-design-procs.tcl
Note:
In case you are running a ]po[ version < 3.5 patch the file manually.
Include the following lines:
if {[llength [info procs im_list_financial_documents_component]]} { append html "<link rel=StyleSheet type=text/css href=\"/intranet-sencha/css/ext-all.css\" />\n" append html "<link rel=StyleSheet type=text/css href=\"/intranet-customer-portal/intranet-customer-portal.css\" />\n" append html "<link rel=StyleSheet type=text/css href=\"/intranet-customer-portal/resources/css/BoxSelect.css\" />\n" append html "<script language='javascript' src='http://www.project-open.org/intranet-sencha/js/ext-all.js'></script>\n" append html "<script language='javascript' src='http://www.project-open.org/intranet-customer-portal/resources/js/BoxSelect.js'></script>\n" }right before line:
if {$openacs54_p} { template::head::add_css -href $system_css -media "screen" -order "6" } else { append html "<link rel=StyleSheet type=text/css href=\"$system_css\" media=screen>\n" }6) Update style.saltnpepper.css from CVS HEAD
cd /web/projop/packages/intranet-core/www/style cp style.saltnpepper.css style.saltnpepper.css.bak cvs update -dPA style.saltnpepper.css
7) Patch /web/projop/packages/intranet-core/www/projects/view.tcl
Before patch:
if {$execution_project_enabled_p && [im_permission $current_user_id add_projects]} {
append admin_html_content "
<li><A href=\"[export_vars -base $clone_url { {parent_project_id $project_id} {company_id [im_company_internal]} { clone_postfix "Execution Project"} }]\">[lang::message::lookup "" intranet-core.Execution_Project "Create an 'Executi\
on Project'"]
</A>[im_gif -translate_p 0 help $exec_pr_help]</li>\n"
}
set admin_html ""
if {"" != $admin_html_content} {
set admin_html_content "<ul>$admin_html_content</ul>"
set admin_html [im_table_with_title "[_ intranet-core.Admin_Project]" $admin_html_content]
}
After patch:
if {$execution_project_enabled_p && [im_permission $current_user_id add_projects]} {
append admin_html_content "
<li><A href=\"[export_vars -base $clone_url { {parent_project_id $project_id} {company_id [im_company_internal]} { clone_postfix "Execution Project"} }]\">[lang::message::lookup "" intranet-core.Execution_Project "Create an 'Executi\
on Project'"]
</A>[im_gif -translate_p 0 help $exec_pr_help]</li>\n"
}
if { [apm_package_enabled_p "intranet-customer-portal"] && ( [im_profile::member_p -profile_id [im_pm_group_id] -user_id $user_id] || [im_profile::member_p -profile_id [im_admin_group_id] -user_id $user_id]) } {
append admin_html_content "<li><A href=\"/intranet-customer-portal/create-dir-structure?project_id=$project_id\">[lang::message::lookup "" intranet-customer-portal.CreateFolderStructure "Create folder structure"]</A></li>\n"
}
set admin_html ""
if {"" != $admin_html_content} {
set admin_html_content "<ul>$admin_html_content</ul>"
set admin_html [im_table_with_title "[_ intranet-core.Admin_Project]" $admin_html_content]
}
8) Patch /web/projop/packages/intranet-invoices/www/new-2.tcl
Before:
if {!$invoice_exists_p} { # Let's create the new invoice set invoice_id [db_exec_plsql create_invoice ""] # Audit the creation of the invoice im_audit -object_type "im_invoice" -object_id $invoice_id -action after_create -status_id $cost_status_id -type_id $cost_type_id } # Check if the cost item was changed via outside SQL im_audit -object_type "im_invoice" -object_id $invoice_id -action before_updateAfter:
if {!$invoice_exists_p} {
# Let's create the new invoice
set invoice_id [db_exec_plsql create_invoice ""]
# Audit the creation of the invoice
im_audit -object_type "im_invoice" -object_id $invoice_id -action after_create -status_id $cost_status_id -type_id $cost_type_id
}
# Give company_contact_id READ permissions - required for Customer Portal
permission::grant -object_id $invoice_id -party_id $company_contact_id -privilege "read"
# Check if the cost item was changed via outside SQL
im_audit -object_type "im_invoice" -object_id $invoice_id -action before_update
9) CVS update /packages/intranet-core/www/images/help_12_12.gif
cd /web/projop/packages/intranet-core/www/images cvs update -r HEAD help_12_12.gif
9) CVS update /packages/intranet-core/www/js/jquery.min.js
cd /web/projop/packages/intranet-core/www/js cvs update -r HEAD jquery.min.js
The following steps are necessary to configure the package:
See http://www.project-open.org/en/tutorial-customer-portal for a user tutorial.
Calle Aprestadora 19, 12o-2a
08902 Hospitalet de Llobregat (Barcelona)
Spain
Tel Europe: +34 609 953 751
Tel US: +1 415 200 2465
Mail: info@project-open.com