NAME

CGI::Bus::upws - User Personal WorkSpace

SYNOPSIS

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

DESCRIPTION

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.

SLOTS

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

-index

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

-indexes

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

-searchms

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}='_run=SEARCH'
                   .($ENV{QUERY_STRING} ? '&' .$ENV{QUERY_STRING} : '');
 chdir('..');
 do('upws.cgi'); # impersonated when called
-urls

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.

-urlst

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

-usfirst

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

-uspath

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

-uspdir

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

-uspfile

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

-uspurf

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

-uspurl

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

-usudir

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

-usurl

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

METHODS

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.

VERSION

20/10/2002

New:

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

12/09/2002

Changed:

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.

21/08/2002

New:

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

28/02/2002

New:

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

01/01/2002 - 27/02/2002

New:

Implemented and Documented

ToDo:

Review

AUTHOR

Andrew V Makarow <makarow at mail.com>

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'