Forum OpenACS Q&A: All about the Intranet (post-install HOWTO)

This is written for OpenACS 3.22. My setup is Red Hat 2.2.16 (6.2 + security patches), Aolserver 3.1, and Postgres 7.02 + a crucial patch necessary for the intranet module. Please correct any information that is inaccurate or wrong.


Congratulations, you've just installed ACS. You've managed to get through the install guide (or the OpenACS install guide), you've gotten Oracle or Postgres working, you're now a pretty cool person because you got it working.

Well, if you're using the Intranet module, you're going to need some more setup, and currently, I don't know of any good documentation on the module except for what is at Arsdigita. Read that first.

The Intranet is a pretty complicated module because it relies conceptually on so many other modules. Unless you already understand the ACS, it may take a while to get a handle on it.

First of all, if you're using Postgres 7.02, I recommend applying a patch that fixes the PortalHeapMemoryError. The link is at the top of this posting. Preferably, you would install this before installing OpenACS, because otherwise you have to export and import your data to get this working. But the directions are pretty good, so just follow them carefully. I'm not sure if this works completely though -- I started from a fresh copy.

Steps to getting your intranet running

  • Set up your admin account and so on like the directions say

  • Go through your /web/servicename/parameters/servicename.tcl or .ini file and set the preferences for Intranet and New-ticket modules. Make sure you enable the Intranet module.

  • In your web browser, go to /admin/users and add in the users you want. I assume these are Employees -- they won't be able to use the Intranet unless you then go to /admin/ug and click on Intranet. Add them to both the Authorized Users and Employees category.

  • While you're in the Internet - Employees /admin/ug section, click on "add module" under "Modules associated with groups in Employees". Set up the news module. They will then be able to make company-wide postings for the main page, and be able to see other postings. Otherwise, they will get an error when they click on the post an item link on the main intranet page.

  • Go to the /intranet page. Click on "Offices", and set up an office.

  • Set up your partner types. This is a pain, unless I'm overlooking an easier way to do it. You have to open up a shell, start up postgres, and change the categories in the database. Then, you have to restart Aolserver, because I believe the variables are cached in memory.
    [postgres@intranet pgsql]$ psql intranet (or your servicename)
    
    Welcome to psql, the PostgreSQL interactive terminal.
    
    Type:  copyright for distribution terms
           h for help with SQL commands
           ? for help on internal slash commands
           g or terminate with semicolon to execute query
           q to quit
    
    intranet=# select * from im_partner_types ;
    
     partner_type_id |    partner_type    | display_order 
    -----------------+--------------------+---------------
                   1 | Usability          |             1
                   2 | Graphics           |             2
                   3 | Strategy           |             3
                   4 | Supplier           |             4
                   5 | Sys-admin          |             5
                   6 | Hosting            |             6
                   7 | Systems Integrator |             7
    (7 rows)
    
    intranet=# h update
    Command:     UPDATE
    Description: Replaces values of columns in a table
    Syntax:
    UPDATE table SET col = expression [, ...]
        [ FROM fromlist ]
        [ WHERE condition ]
    
    intranet=# update im_partner_types set partner_type = 'Service
    Provider'
    intranet-# where partner_type = 'Usability';
    UPDATE 1
    
    intranet=# select * from im_partner_types ;
    
     partner_type_id |    partner_type    | display_order 
    -----------------+--------------------+---------------
                   2 | Graphics           |             2
                   3 | Strategy           |             3
                   4 | Supplier           |             4
                   5 | Sys-admin          |             5
                   6 | Hosting            |             6
                   7 | Systems Integrator |             7
                   1 | Service Provider   |             1
    (7 rows)
    
  • Don't forget to restart Aolserver

  • If you don't have site-wide-search, you might want to disable the site-wide-search box on the main /intranet page.

  • Set up the calendar categories in /calendar/admin. Look at the documentation that won't be relevant to this at all :) Think of categories like: Social, Project Meeting, etc...

  • Get pictures for everyone in your office and put them in. Or let everyone do it themselves.

  • Add in any Discussion Groups you might want.

  • Add in teams for the new-ticket module. Go to /team to add in teams. Make sure everyone who will be using the ticket system is part of a team. If you don't do this, tickets won't work.

  • Change the project types if the project types don't fit what you need. I haven't done this yet, so no help here. Sorry!

  • Beware of bugs: popuation count doesn't seem to work in the status reports, primary contact doesn't work for the customers/view.tcl page (you'll get an employee instead of a contact), you may get a nasty server error when you access the Employee Administration link from the main page, you can't seem to create tickets for the project view page (clicking on "create a ticket tracker" gives a server error) and other annoyances. These may be OpenACS 3.2.2 specific
That's my list for now. Feel free to make corrections and point out where I'm wrong. I'd love it if someone made some Official(TM) docs out of this and cleaned it up, by the way.
Collapse
2: Thank you (response to 1)
Posted by Cristian Petrescu-Prahova on
Your information is more than useful. Thank you. I'm in a early stage of evaluating the intranet module. This will help me going further with less pain.

One little question still bogus me: How on Earth is possible to edit someone's personal contact information?! There are a couple of TCL scripts which seem to address this problem, but they seem to be no longer used. I get redirected from one place to another, but I'm never able to do the job. The same thing is valid for ACS classic, too.

Probably I should sit down and write my own scripts, but I hate writing duplicate code 😊

Collapse
Posted by Chris Hardy on
Jade, would you consider adding this to the SDM, under the Doc's section?  Even if it's this nice flegling section?  This is HOWTO is pretty much a must.
Collapse
Posted by Chris Hardy on
As for the bugs, I've been busy trying to fix the Intranet Module.  I've added the patch's to the CVS server.. So Far, I've fixed the customers/view.tcl problem (well, all except for the phone info), I've fixed the Employee admin link, and I'll be writing a patch to fix the ticket tracker/new-ticket tracker stuff. I've also been trying to fix the Intranet Status Report stuff.. Mike Bryzek from ArsDigita has been very helpful in pointing me in the right direction. Kudos to him... I do have one question though, when is ACS 4.0 suppose to hit the streets?  Am I wasting time doing all this bug squashing? Ben?
Collapse
Posted by Ben Adida on
No, none of this is a waste! This is very important stuff. Yes, you should expect intranet to be revamped in 4.0, but you'll be part of the revamping, and the experience you gain on making this version work will help with 4.0. This will be included in OpenACS 3.2.4, and remember that we will probably also have OpenACS 3.2.5 to fix more bugs.
Collapse
Posted by Jade Rubick on
I added this to the SDM, under the Getting Started Guide. Ben, how do I get involved as a developer on the CVS server?
In an intranet project this summer I modified the new-user registration scripts so that new users would automatically be members of the intranet (it was an intranet machine behind a firewall; I didn't want to manually add all the users to the authorized and employees groups). Apart from adding them to authorized_users and employess I noticed that they must also be added to the im_employee_info table, else the user info edit page would crash (with the "nsdb select statement didn't return any rows" error in the log). You don't need to add all the fields in the table, "insert into im_employee_info (user_id) values ($new_user_id)" will do fine. Christi: the url is /intranet/users/info-update.tcl.
You cannot edit the information of someone else, unless you know their password or click the 'become this user' link in the user admin pages.
Collapse
Posted by Jade Rubick on
Janne, can you enter the bug you described into the SDM? Ben, can we help you get as many of these fixes as possible into the 3.2.4 version? What can we do to help?
Collapse
Posted by Jade Rubick on
You can set up the partner types in the /admin/categories section, at least under Classic ACS 3.4.4 instead of doing it in SQL.