]project-open[ : @This Wiki
Portrait

Welcome, Unregistered Visitor

Contact ·  Index · Login · Register
 

Contents

Remote Training
Support
SaaS Service

6 registered users
 in last 24 hours

Installing the ]po[ Customer Portal

Installing on ]po[ Version 4.x ­ ­

1) Make sure you have installed the following packages and "cvs update" them if necessary:

  • intranet-sencha
  • intranet-customer-portal

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

Installing on ]po[ Version 3.5 ­ ­

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
It should be rather unproblematic for to use the most recent version of the SALTNPEPPER skin also for version 3.5:   

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_update

After:
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

  

Configuration

The following steps are necessary to configure the package: 

  • Disable Sencha Margin Tracker
    http://[YOUR_SERVER]/intranet/admin/components/index?package%5fkey=&component%5flocation=&component%5fpage=%252fintranet%252fprojects%252findex
  • Disable Sencha Milestone Tracker
    http://[YOUR_SERVER]/intranet/admin/components/index?package_key=&component_location=&component_page=%252fintranet%252fprojects%252fview
  • Files uploaded are stored in a temporary folder before they eventually will moved to their final destination. Set parameter "TempPath" of the "intranet-customer-portal" accordingly. 
  • Most certainly you want users not allow to register. Set parameter "AllowSelfRegister" of package acs-authentication to "0". 
  • To use the workflow efficiently, please make sure that portlet "Home Workflow Inbox" is visible to Project Managers. 
  • Set notification texts (subject&body): /acs-lang/admin/message-list?package_key=intranet-customer-portal&locale=en_US
  • Menu items to be disabled for Customers
    * Workflow
    * Timesheet
    * Absences
    * Notes
    * Companies (since the only one they can see is its own)

  • Portlets to be disabled for Customers

    On Project tab:
    * Project WF Graph
    * Project WF Journal
    * Finance Summary

    * Trans Tasks (tab)
    * Assignments (tab)

    On Home tab:
    * Calendar (sysadmin can restore it, but currently is not so good-looking, so I would disable it)
    * Home ]po[ News
    * Filestorage

Troubleshooting 

  • If pages /intranet/projects/index and intranet/projects/view do not show correctly, please check if portlet "Milestone Tracker" is enabled. If so, disable it.
  • If no notifications are sent out, please follow instructions given at http://www.project-open.org/en/workflow_notifications#troubleshooting 
  • If files uploaded by the client do not show up in the Translation Task portlet, please verify parameter DirNameSourceLanguage of package intranet-customer-portal.


Tutorial

See http://www.project-open.org/en/tutorial_customer_portal­­ for ­a user tutorial. 


Please take a moment to complete this form to help us improve our service.

Note:
Please only provide feedback in regards to content this page shows. For support inquiries please refer either to the Community Support forum at Sourceforge or check out our 'Professional Support'

Did this page help you to achieve your goal?

 Yes  No  Don't know

Please provide us with comments to improve this page:

How useful is the information?

 1  2  3  4  5
Not
useful
      Extremely
useful
 
  

Explore

Installers
Demo Server
Modules & Functionality
Packages
Business Processes supported
FAQ's

Help

Getting started
User Manuals
Configuration Manuals
Community Support
Professional Support

News

News
Twitter
RSS Community / Sourceforge
Register for Newsletter

Get in touch

Contact
Register



Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic License - Privacy Policy