Author image Andrew V. Makarow


CGI::Bus::upws - User Personal WorkSpace


 use CGI::Bus;
 $s =CGI::Bus->new();


This module is a user personal work space. There are two subsystems: workspace and 'u'sers 's'ites. Users sites facility is not very scalable, it is for a small sites with a few publishers of the pages.

Uses CGI::Bus::uauth, CGI::Bus::udata. See CGI::Bus::Base for inherited slots and methods.


Common HTTP and HTML settings should be in CGI::Bus parent object.


URL of the Index HTML page or reference to URLs list (see -urls), optional


Reference to URLs list like -index, to place on the navigation pane below -index and above -usurl and -urlst

HTML logo or URL of logo image to place at the top of the navigation pane, just before the name of the user. Default is '/icons/portal.gif' on Apache and 'web.gif' on IIS.

Search system URL or sub{}; optional


Search hook sub(self, Query object, Util object, [pathSearch,...], [[pathBegin, pathReplace],...]){} to be called before Microsoft Index Server Query object 'CreateRecordset' method called. Required when using Microsoft Index Server. Attention: Results of Microsoft Index Server calls are impersonated and dependent on filesystem ACLs and effective user account.

If both -search and -searchms defined, -search should contain URL of search script and -searchms will be used to produce search. This behaviour is useful with impersonated search script like

                   .($ENV{QUERY_STRING} ? '&' .$ENV{QUERY_STRING} : '');
 do('upws.cgi'); # impersonated when called

URLs array ref or sub{} to place at the end of the navigation pane. Each URL should be HTML or 'label|URL' string. URLs lists may be assigned for users and groups of users individually. This parameter is the most common list.


Like -urls, but to place above user's URLs and -urls.


Sub{} to determine users sites to be sorted first and to be placed above others See below -uspath, -usudir, -uspdir, -uspfile, -usurl, scrusites


Users sites base path, directory with users publish HTML pages. Default is calculated when only -usurl is defined. See below -usudir, -uspdir, -uspfile, -usurl, scrusites


Users sites publish dirs inside -usudir, subdirectories of user's directory where should be pages to publish. Default ['pub','']. See also -uspath, scrusites


Users sites publish files inside -uspdir, filenames to be published as main pages. Default ['index.url','index.html','index.htm','default.url','default.html','default.htm']. See also -uspath, scrusites


Users sites publish filesystem URL, used to open user's directory for the current user for publishing. Default -uspurl


Users sites publish URL, used to open user's directory for the current user for publishing. Default -usurl


Users sites users dirs, subdirectories with the deepest publish dirs and files. Above this subdirectories may be group subdirectories with publish files. Default ['users','home','']. See also -uspath, scrusites


Users sites base URL. Adds reference to users pages if defined. See also -uspath, scrusites


The most commonly used is evaluate.

evaluate () -> requested HTML screen

Dispatcher of the 'scr...' calls below. See source code for commands used.

scrtop () -> top HTML screen

Generates top HTML page, which is a frameset of left (navigation) pane and right (content) pane.

scrleft () -> navigation pane HTML screen

Generates navigation pane HTML page, the left part of the screen.

scrright () -> content pane HTML screen

Generates content pane HTML page, the right part of the screen.

scrsetup () -> user settings HTML screen

Generates user settings HTML page, interacts with used when editing and saving. See source code for setup fields names and descriptions.

scrusites () -> users sites HTML screen

Users sites map HTML page, based on -uspath and -usurl. Data collected within -uspath directory structure are cached inside temporary directory.




-search, -searchms slots. Problem: Microsoft Index Server calls should be impersonalisated to obtain rightly ACL checked results.



scrleft discards duplicate rows to display. 'label|URL|_target|URL' syntax added to deal with a complex pages. Logotype (-logo) enclosed within URL filling the current browser window with scrleft.



'USITES' CGI param for scrusites identifier or number - to use multiple sets of users home pages, empty parameter means default page set



Using icons. -logo may be URL of logo image.

01/01/2002 - 27/02/2002


Implemented and Documented




Andrew V Makarow <makarow at>

10 POD Errors

The following errors were encountered while parsing the POD:

Around line 207:

You forgot a '=back' before '=head2'

Around line 209:

'=item' outside of any '=over'

Around line 216:

You forgot a '=back' before '=head2'

Around line 218:

'=item' outside of any '=over'

Around line 227:

You forgot a '=back' before '=head2'

Around line 229:

'=item' outside of any '=over'

Around line 238:

You forgot a '=back' before '=head2'

Around line 240:

'=item' outside of any '=over'

Around line 247:

You forgot a '=back' before '=head2'

Around line 249:

'=item' outside of any '=over'