Forum OpenACS Q&A: ]project-open[ Package-Installer for OpenACS 5.3

Request notifications


The ]project-open[ team is happy to announce the availability of a "package" installer for OpenACS 5.3. thanks to a project at ISSA/ILO at Geneva. In this project we have installed ]po[ on top of an existing OpenACS 5.2 installation.

The installer consists of 32 OpenACS modules plus 12 manuals. To install ]po[ you can just use your OpenACS package manager.

You can download the packages from:

For discussions please go to:

I would be happy if this installer would dispel the myth that "]po[ has forked away from OpenACS" or "]po[ is based on a highly customized version of OpenACS 5.1" etc.

IT Services Management (ITSM):

This installer already contains a number of packages that represent the first steps to implement our new ITSM project presented 4 weeks ago ( These packages are still pre-alpha, so you might want to omit them during an installation (see below).



1. How to Get It

This installer is available in the "Support Files" download section of
at with the name

For discussion please see the "Open Discussions" forum at SourceForge.


2. Prerequisites

- OpenACS 5.3:
This installer has been developed and tested under OpenACS 5.3.2.
However, we also expect the installer to work with OpenaCS 5.1 and 5.2,
but we haven't tested this yet.

- PostgreSQL:
This installer should run on the following versions of PostgreSQL:
8.0.1, 8.0.8, 8.0.12, 8.1.5, 8.1.8, 8.1.9, 8.1.11, 8.2.4, 8.2.5
Other PG versions should also be OK, but without the TSearch2 full
text search module.

- AOLServer:
]po[ runs on any AOLServer 3.3oacs or higher.
]po[ uses "exec" for filestorage. This may lead to memory leaks with
some AOLServer versions.

- Other Software:
- ]po[ requires GraphViz to render workflow diagrams.


3. Contents

The following packages in the /packages/ folder together make up
the ]project-open[ code:

acs-workflow GPL Petri-Net Workflow
intranet-calendar FL Calendar integration
intranet-confdb FL ITSM configuration database
intranet-core GPL ]po[ core
intranet-cost FL Financial
intranet-dw-light FL Data-warehouse "light"
intranet-dynfield GPL Dynamic field extensions
intranet-exchange-rate FL Exchange rates
intranet-expenses FL Travel expenses
intranet-expenses-workflow FL Workflow for travel expenses
intranet-filestorage FL Filestorage
intranet-forum FL Discussion forums
intranet-freelance FL Freelance skill database
intranet-ganttproject FL GanttProject integration
intranet-hr GPL Human Resources
intranet-invoices FL Generic invoicing
intranet-invoices-templates FL Print templates for invoices
intranet-material FL Material master (service types)
intranet-payments GPL Invoice payments
intranet-release-mgmt FL ITSM software release mgmt.
intranet-reporting FL Reporting engine + some reports
intranet-reporting-tutorial FL Reporting engine tutorial
intranet-search-pg FL Full-Text search engine
intranet-sysconfig FL System Configuration Wizard
intranet-timesheet2 GPL Timesheet mgmt.
intranet-timesheet2-invoices FL Timesheet invoicing wizard
intranet-timesheet2-tasks FL Project tasks for timesheet
intranet-timesheet2-workflow FL Workflow around logged hours
intranet-trans-invoices FL Translation invoicing wizard
intranet-translation FL Translation base
intranet-workflow FL Workflow integration with ]po[

"GPL" refers to licensing under the GNU Public License, while FL refers
to the ]po[ "Free License" (

Also, we have included a number of manuals in the /manuals/ folder:



4. Installation

IMPORTANT: Please backup all of your data before installing ]po[.

In order to install ]po[, please copy the contained packages (in the
"packages" folder of this installer) into the /web/[server]/packages/
directory of your OpenACS installation.

Then point your browser to the URL /acs-admin/apm/, choose "Install
Packages" and select all "]project-open[ *" packages, except for:

- IMPORTANT: Please don't install the package "intranet-search-pg".
]po[ will install this package later due to funky TSearch2 quirks.

- The packages "intranet-helpdesk", "intranet-confdb" and
"intranet-release-mgmt" are in a pre-alpha status. Install these
packages only if you want a preview of the upcoming ]po[ solution
for IT Services Management (ITSM).

Then proceed as normal. The package manager will possibly select a
number of additional OpenACS packages to install. All dependencies
should be satisfied.


5. Post-Installation Activities

Please read thought the "PO-Configuration-Guide" (contained in this
installer in the /manuals/ folder) for an overview on configuration
]po[ is based on OpenACS, but we have decided to handle a lot of things
differently from OpenACS, particularly in the are of permissions and
GUI interface. The config guide will help you a lot to understand these

5.1. System Configuration Wizard

This is a wizard that allows you to disable unnecessary functionality
in order to get a useful system. To do so, please go to the /intranet/
URL and click on "Next ]]" button in the "System Configuration Wizard"
component. Then select (for an IT consulting company):

- Business Sector: Information Technology
- Company or Department?: "Other / Everything"
- Simplified or Complete Install?: Complete / Full Installation
- Size of your Organization: Three hierarchical levels
- Name and Email: [whatever you like]
- Logo: [whatever you like]
- Trust Model: [Keep default]

]po[ will disable translation specific components and enable the full-text
search engine.
Now please restart the server.

5.2. Patch OpenACS:

There is exactly one patch required for ]po[ to run on OpenACS 5.3.2.
Please insert the following lines in /acs-templating/tcl/date-procs.tcl
behind the equivalent "sql_date" and "ansi" sections (line 294).

sql_timestamp {
if { [empty_string_p $date] } { return "NULL" }
set value ""
set format ""
set space ""
set pad "0000"
foreach { index sql_form } { 0 YYYY 1 MM 2 DD 3 HH24 4 MI 5 SS } {
set piece [lindex $date $index]
if { ![string equal $piece {}] } {
append value "$space[string range $pad [string length $piece] end]$piece"
append format $space
append format $sql_form
set space " "
set pad "00"
return "to_timestamp('$value', '$format')"

5.3. Filestorage Integration

]po[ comes with its own filestorage that integrates with existing
SAMBA / Windows Fileserver installations. Please see the PO-Filestorage-Guide
and the PO-Configuration-Guide for details.

For a test installation it is OK to create a directory /web/[server]/filestorage/
with subdirectories backup, companies, home, projects, templates and users.
Then please adapt the parameters in intranet-filestorage and intranet-core
to this location, maintaining the respectiv subdirector ("home", "projects" etc.).

5.4. Reporting Engine

You need to setup the hierarchical menu structure for reports.
To do this please point your browser to the URL /intranet/admin/menus/.
The page will take several seconds to load. That is all.

5.5 Setup the Site-Master

Please set the "DefaultMaster" parameter in Admin -] Parameters to the
value "/packages/intranet-core/www/po-master" in order to get a uniform
]po[ design suitable for an Intranet.

5.6. Reactivate the ]po[ Calendar

The basic OpenACS 5.3.2 installation contains an error in the calendar module.
For this reason we have disabled the calendar for ]po[ by default.

To re-enable the calendar please go to Admin -] Components, click on
"Home Calendar Component" and set the "Location" to "left".


6. Setup Basic Data:

]po[ requires you to enter data in a certain order. Please follow
the following steps in order to setup some basic data:

- Companies:
- Go to Companies -] Add a new Company:
Create a new "internal" company (please see the
PO-Configuration-Guide" about why and how).
- Go to Companies -] Add a new Company:
Create a "Sample Customer" with status "active" and
type "Customer"
- Go to Companies -] Add a new Company:
Create a "Sample Provider" with status "active and
type "Provider"

- Users:
- Go to Users -]
Create atleast one user of group "Employee", "Customer"
and "Freelancer".

- Projects:
- Please create a sample project for each of the types
"Consulting Project", "Release Item" and "Release Project".
These project types have certain componetns associated
that are only shown with projects of that type.

- Permissions:
- Please go once through all optios of the Admin menu
and consult the PO-Configuration-Guide.


7. Removal

IMPORTANT: The ]po[ intranet-*-drop.sql scripts have not been tested
yet and will likely produce error.

Please backup your data before installing ]project-open[, so that you
can reverse the installation.

Posted by Eduardo Santos on
Hi Frank,

Thank you for this fantastic work. I have to confess I'm very impressed about ]PO[ possibilities now.

I'm still beggining to use it, but I have some doubts about the project's goals. What are your plans about it right now? I can see that it's more tight to the Core, but it still works much better as a standalone application. There's no user integration for example, or at least I couldn't find it yet. Do you have any intention to work on this area or to integrate with any other OpenACS package? Maybe dotLRN?

Posted by Frank Bergmann on
Hi Eduardo,

> What are your plans about it right now?

Our main next step is to setup a preconfigured version of ]project-open[ for ITSM (IT Services Management, basially managing an IT department). Here is the announcement:

> There's no user integration for example

I don't understand this one... We use the OpenACS parties, persons and users tables, a well as OpenACS groups for permissions etc. How do you mean "no user integration"?

> Maybe dotLRN?

It's no problem to install both dotLrn and ]po[ at the same instance. ILO/ISSA (International Labour Organizations / International Social Security Association) are running such as configuration with OpenACS/dotLrn for their "community" and ]po[ for their internal project management.

However, there are currently no "]po[ plugins" that would show dotLrn objects, or the other way around. The integration between the two is handled based on "links".

But: What else do you think of?


Posted by Eduardo Santos on
Hi Frank,

I've seen your other post about the IT Services Management, and that's what made me be very impressed. I've also read your discussion with Malte about Project Management in this thread:

I'm facing the following situation right now: I have a dotLRN community based system wich is going to need a project management tool. I was almost convinced about using project-manager until I saw your ITSM for ]PO[ that made me very impressed. My main issue is to find out the best tool with the easier integration and management.

I guess the biggest difference here is that the projects will be controlled by communities. Maybe it would be necessary to have a "central space" to see every projects, but all the tasks and projects will be inside the community. Maybe the best solution here is to import pm_projects to ]PO[, wich will act as a projects central.

The "no user integration" was an user error misunderstanding. I couldn't see the employees group was selected. However, unless the user is in a ]PO[ group it doesn't appear. Maybe we should define a standard role for everyone or some kind of script to add them. I don't know.

The other thing I thought about was to create some dotLRN projects package that would make it possible to create the some projects and tasks (using the Petris Net interface) inside the communities and ]PO[ would act like some kind of central, as I told you above. My thoughts are a little bit confused right now, but what do you think about all of this?

Thank you in advance for the amazing work.

Posted by Frank Bergmann on

> projects will be controlled by communities

Ok, I see what you mean: You need to show ]po[ projects as part of dotLrn communities, and the other way around.

And probably you also need to modify the GUI so that both look more or less the same, right?

So yes, that's a bit of customization work, but it should be easy. The ]po[ data model is straightforwards and uses the OpenACS infrastructure (groups, acs_rels, ...).

But you'll probably have to work on these issues yourself, because I don't see many users (compared to the ~200.000 regular ]po[ users) who would use this dotLrn - ]po[ combination.

However, we might one day do the opposite - integrate dotLrn into the ]po[ GUI. That's because some of our bigger customers run e-learning processes as part of their HR processes. However, such an integration would look differently from what you need AFAIU.

So maybe it's really the easiest option for you to go with "Project Manager", because it already integrates into the OpenACS community structure? I don't think (anymore?) that everything should be done using ]po[. :-)


Posted by Malte Sussdorff on
Funny as it might sound, I have a customer which runs ]po[ and now needs communities for it's users. So we might be installing .LRN on top of ]po[ and write a dotlrn-portlet for the list of projects and tasks of a user.

In your case you could probably just make projects subsite aware in the sense that they know which subsite they belong to (even if the intranet-core package is only mounted once). Maybe just use the parent_id ?

Then you have the control of the projects in the communities.

But, as Frank mentioned, going with project-manger and the dotlrn*project-manager* stuff is probably easier to achieve for your goals.