F R A M E C A L
Installation Instructions
Welcome to the installation
file for the FrameCal Perl Script. Below are some navigation links to
take you to the primary points of interest in the script.
« Disclaimer |
Description |
Copyright Info |
Support »
« Basic Installation |
Setup Files |
Running the Script »
|
DISCLAIMER
|
This script comes with no guarantees or warranties. I am
not a programming professional, yet. By using this code you agree to
indemnify Michael E. Schechter from any liability that might arise from
its use.
TOP
|
DESCRIPTION
|
This script generates calendars allowing multiple users to view,
add to, modify, and delete to it. Administrative tasks are incorporated, as well
as security, allowing public (read only) access, and two levels of
interaction with the calendar. This script allows multiple calendar configurations
to be used for different topics, all running off of the same master script. For
further information, go the demo page
and/or the features page.
TOP
|
COPYRIGHT INFORMATION
|
This script was originally written by Selena Sol, and then heavily modified by
Michael Schechter. As such, the copyright information is somewhat of a hodge-podge. Selena
states in his scripts to feel free to "copy, cite, reference, sample, borrow, resell or
plagiarize the contents". However, for my modifications, I would like to add the following.
If you are going to use my version of the script, please realize that selling the code for this
script without prior written consent is strictly forbidden. Basically, if you are going to try
and make money off of my work, at least ask me first. Having said that, all other uses of this
script are absolutely free. This is open source software. While this normally indicates "free
software", please be aware that I have spent many, many, many hours modifying and adding to this
script to make it more of what the users have asked for. As such, this script is not in the public
domain. If you use it, please let me know, just so I can see where it is going and how it is being
used. Also, attempts to sell the code for this program is strictly forbidden.
Finally, I would like to also keep a list of implementations of this script. If you are using
the script, please drop me a message
so I can at least take a look at it.
TOP
|
SUPPORT
|
First off, remember what I said in the disclaimer
above. Keeping that in mind, I have set up a
user support
bulletin board. I will be notified via email whenever a post is placed on the board, and will
respond via that method. If you have a question, please post it there first, so that other users
can have their questions answered if they are the same.
This script has been tested on both a UNIX platform, running Perl v5.003 and Apache v1.2.5, and a
Windows NT 4.0 system using ActivePerl
(build 5.00502), Xitami web
server, and the Blat
SMTP server (v1.7). All observed differences were compensated for during the testing, and the script functions
equally well under both configurations. Please grab the file that is applicable to you, either .tar.gz for
UNIX systems, or .zip for Windows systems. Each one contains a mail-lib.pl file that is unique to that
platform. Also, the data files have been formatted specifically for use on the specific platforms, as line
endings are different on the two platforms.
Finally, before doing anything else, read this file, and then read it again. This is the primary source of
information on this script, until I can get comments into the main files, and most of your questions will be
answered here.
TOP
|
BASIC INSTALLATION
|
This section contains some very important information, broken into a couple of different sections. Use the
navigation links below to move to where you need to go.
« Setting Permissions |
Directories and Files »
SETTING PERMISSIONS |
If you are installing this script on a UNIX web server, you will need the following information to set
the permissions properly on the files that compose this script. Each subdirectory and file has its own
correct permission level associated with it. Please read this and the next section carefully, as
incorrect permissions is the number one reason why the script won't work after installation. The following
table is a quick guide to setting permissions on a UNIX server. The actual settings for the files and directories
follow in the next section.
PERMISSION | COMMAND |
rwxrwxrwx | chmod 777 filename |
rwxrwxr-x | chmod 775 filename |
rwxr-xr-x | chmod 755 filename |
rw-rw-rw- | chmod 666 filename |
rw-rw-r-- | chmod 664 filename |
rw-r--r-- | chmod 644 filename |
TOP | BASIC INSTALLATION
|
DIRECTORIES AND FILES |
If you extract the files from the archive using the directories supplied, you will get a directory structure
that looks like the following, a collection of subdirectories and files. The permissions for each file and subdirectory
are listed next to each.
calendar root directory (drwxr-xr-x) usually cgi-bin
|____dbs (drwxrwxrwx) sub-directory
| |____demo (drwxrwxrwx) sub-directory
| |____calsf (drwxrwxrwx) sub-directory
| |____events (drwxrwxrwx) sub-directory
| |____auth.setup (-rw-r--r--)
| |____calendar.altusers (-rw-rw-rw-)
| |____calendar.counter (-rw-rw-rw-)
| |____calendar.setup (-rw-r--r--)
| |____calendar.users (-rw-rw-rw-)
| |____help.setup (-rw-r--r--)
|____framecal (drwxrwxrwx) sub-directory
| |____fc_admin.pl (-rwxr-xr-x)
| |____framecal.pl (-rwxr-xr-x)
|____help (drwxr-xr-x) sub-directory
| |____1.txt (-rw-r--r--)
| |____2.txt (-rw-r--r--)
| |____3.txt (-rw-r--r--)
| |____4.txt (-rw-r--r--)
| |____5.txt (-rw-r--r--)
| |____6.txt (-rw-r--r--)
| |____7.txt (-rw-r--r--)
| |____8.txt (-rw-r--r--)
| |____9.txt (-rw-r--r--)
| |____10.txt (-rw-r--r--)
| |____11.txt (-rw-r--r--)
| |____12.txt (-rw-r--r--)
| |____90.txt (-rw-r--r--)
| |____91.txt (-rw-r--r--)
| |____92.txt (-rw-r--r--)
|____libs (drwxr-xr-x) sub-directory
| |____auth-extra-html.pl (-rw-r--r--)
| |____auth-extra-lib.pl (-rw-r--r--)
| |____auth-lib.pl (-rw-r--r--)
| |____auth-server-lib.pl (-rw-r--r--)
| |____cgi-lib.pl (-rw-r--r--)
| |____cookie-lib.pl (-rw-r--r--)
| |____mail-lib-unix.pl (-rw-r--r--)
| |____mail-lib-win.pl (-rw-r--r--)
|____utilities (drwxr-xr-x) sub-directory
| |____convert_db.pl (-rwxr-xr-x)
| |____strip.pl (-rwxr-xr-x)
|____user_help.pl (-rwxr-xr-x)
calendar is the root directory for the application and must have its permissions set to be
readable and executable by the web server. The default is usually your cgi-bin directory.
dbs is a subdirectory that contains the subdirectories for each individual calendar that
you run from your server.
demo is a subdirectory that contains the files for the demonstration calendar distributed with
the application. When you set up a new calendar, you should create a new directory for it underneath the
dbs subdirectory. The following files are stored in this subdirectory for each calendar:
- auth.setup is the file which contains all of the authorization variables for the script. These
variables allow you to tweak the access characteristics of the calendar. See the documentation below for
information on all of the variables stored in this file.
- calendar.altusers is a file which must be enabled in the auth.setup file. Basically, it
allows you to filter who gains access to the calendar. If you set you calendar up as such (see below),
users, when registering, will be added to this file. You can then move them over to the calendar.users
file (see below) at your discretion, which will then, and only then, allow them access to view the calendar.
- calendar.counter is a file which is used to keep track of the number of events posted to the
calendar. Each event must have a unique ID number, and that number is provided by this file. When starting a
new calendar, this file should contain only the number "1".
- calendar.setup holds all of the variables to customize one installation of the calendar. If you use
more than one calendar, you will need a calendar.setup for each in its own directory. This file will be explained
in greater detail later.
- calendar.users will contain the list of all the registered users and their personal info. It will
be filled automatically by the script as people register on your calendar. Note that a default admin account
is stored in this file when distributed. The username is admin, password is admin. When you first set up your
calendar, register for an account, then sign in with the default admin account, and register yourself if need
be. Then, set your new account to admin access via the "User Admin" button. Now, sign in with your new account
and delete the default account. You don't want someone coming behind you with the default and messing
with your user database.
- help.setup holds the variables to customize the online help script. This file will be explained in
greater detail later.
calsf is a subdirectory that must be added to each calendar application directory. This
directory stores all of the session files that are generated to track users through the calendar,
saving the users security information. The files will be automatically written and pruned by the script.
events is a subdirectory that must be added to each calendar application directory. This directory
will store all of the files that define an event. The file names will simply be numbers corresponding to
the id numbers for each event. Now you know one of the reasons why each event must have a unique id!
help is a subdirectory containing the text files for each help topic covered within this script. The
files are read in by topic number as needed by calendar.pl and the authentication libraries. Do not change the
name of these files unless you find them in the appropriate script and change them there as well. The contents
of the files can be modified if you like, as they contain only html.
libs is a subdirectory containing many files that are commonly used for authorization purposes and
supporting libraries. They are commonly used by a number of Perl CGI scripts, not just FrameCal, so they
should be stored in a common, separate directory for organization purposes. The following files are used,
and thus distributed with this script:
- authentication libraries all start with "auth", and are used to authenticate users if
password protection is implemented.
- cgi-lib.pl is used to read and parse incoming form data and to provide error messages in case the
script cannot open a needed file.
- cookie-lib.pl is from Matt's Script Archive, and
will be used if you choose to set up your calendar to allow users to save their login names and passwords.
- mail-lib-unix.pl and mail-lib-win.pl is used to mail the administrator and users dependent upon the settings in the setup
file. All mail is optional. The file will require some customization
for you particular setup. Read through the files. You will need to include in the file the location of the mail
application, whether Blat or sendmail. Also, in the case of Blat, you will need to define a directory to write
the temporary files Blat uses to send out email messages. Pick the file that indicates the OS your calendar
will run on, and rename it to mail-lib.pl before uploading.
framecal is the subdirectory that holds the executable files listed below. Note
that you can install all of these in your cgi-bin directory, just be sure to modify all
of your paths in the framecal.pl file.
- framecal.pl is the meat of the application, so to say, and must be set to readable and executable by the web server.
Don't modify this file (much) unless you really know what you are doing. You will need to set a couple of
variables in the beginning of the script, so open it up. If you don-t know Perl, but would like to try your hand at
modifying this script, head over to the
bookstore for some suggested titles.
You will need to set the path to your libs directory, and you also may need to change the script to use
absolute paths rather than relative paths for the calendar_type variable.
- fc_admin.pl holds all of the subroutines for admin use. These include listing
out all of the registered and pending users, as well as routines to delete, register, and
modify access level of the users.
utilities holds a couple of scripts to make your life a little easier.
- convert_db.pl is a file that will allow you to upgrade your database file
(calendar.events) from version 1.0+ to the new formats used by this version. Please note
that you will need to place this script in the directory with your existing calendar.events
file, and run it through your browser. You will have to have your events directory created
prior to running the script. When done with the conversion process, remove this file. The script
will not delete your calendar.events file, just in case there are any problems.
- strip.pl is a file that strips comments and blank lines out of a perl script.
The framecal.pl file, for instance, is 94 Kb with the comments in, 50 Kb with the comments
and blank lines stripped out. So, to make the script execute a little faster, run this script.
You must run it from the command line. Provide it with a directory or directories as arguments, leaving trailing slashes
off, and it will find all the files in that directory with the .pl extension, and remove all of the
comments and blank lines out of them automatically, leaving much smaller files. I use this on my files
before I upload them. Note that the original file will remain in the directory, renamed to the original
file name with ".commented" added to the file name.
user_help.pl is a supporting application that is built into the script. It supplies online help to the users
of the calendar, if configured as such in the setup file. Each calendar will have its own setup file for the help
application. The script works by taking the help topics defined in the script and reading the associated files from the
help directory text files.
TOP | BASIC INSTALLATION
|
|
SETUP FILES
|
Three setup files are used in this script, "auth.setup", "calendar.setup", and "help.setup". These files allow
you to customize your implementation of FrameCal. This section will be broken into three sections, one to discuss the options
in each of the files.
« auth.setup | calendar.setup |
help.setup »
AUTH.SETUP |
The auth.setup file contains all of the variables that allow you to customize the accessibility
characteristics of your calendar. Please read through these variables carefully and decide on how you will
implement security for you calendar.
- $auth_lib : this is the variable that points to the location of the authorization files.
If you put the authorization files in a separate directory, set this variable to the proper value. Normally, this
variable is set to the same value as the $libs variable in framecal.pl and fc_admin.pl.
- $auth_server : this variable is set to "1" if you are using server based security, "0"
if using CGI based security. If you don't know what server based security is, you are most likely dealing with CGI based
security. Server based security would deal with ENV{'REMOTE_USER'} and you would be using the servers config
files. CGI based security creates its own authentication routines.
- $auth_cgi : set this to "1" if using CGI based security, "0" if using server based
security (see above). Note that if both of these are set to "0", you are using no security, in effect making
it a free for all calendar, which may be exactly what you want.
- $auth_add_register : if this is set to "1", users entries will be added directly to the appropriate user database.
If it is set to "0", they won't be.
- $auth_email_register : if this is set to "1", the administrator will be emailed whenver someone
registers on the calendar. If it is set to "0", there will be no notification.
- $allow_public_access : if this is set to "1", a "Public Access" button will be displayed
on the login screen. If this button is pressed, people will be able to view the calendar in read only mode without having to
login to the calendar. This is helpful to keep your user database small if only a few people are posting. You can just remove
anyone set to public access, if you don't mind other people looking at your calendar. Set it to "0" to disable.
- $auth_session_length : this is the number of days you want session files to be kept before they are deleted.
- $auth_allow_register : set this to "1" if you want to allow people to register on the calendar in any
way, or to "0" to disable all registrations.
- $auth_allow_search : set this to "1" if you want users to be able to search the user database for
an old account name. Set to "0" to disable.
- $auth_generate_password : set this to "1" if you want the script to generate a password and
mail it to the user. Set it to "0" to allow the user to chose their own.
- $auth_check_duplicates : set this to "1" if you want the authorization script to check to see if
the chosen username is already present in the database. If you are running this with access levels, setting this to on is
a very good idea. If you don't want to listen to this advice, set it to "0".
- $notify_register : set this to "1" if you want an email message sent to a user automatically when
their access level is changed by the administrator, or when they are upgraded from pending to active. Set it to "0" for
no email notifications.
- $use_cookies : set this to "1" if you want to enable cookies for login purposes. By enabling this,
users will be given the option to save their login information as a cookie, and be automatically logged on when they return to
the script. Set it to "0" if you want to disable it.
- $auth_use_help : set this to "1" if you want to enable online help for the authorization scripts. To
disable it, set it to "0".
- $auth_user_file : this is the file which contains the list of users who are authorized to use the script.
Unless you have made some major modifications to your directory structure, leave it as is.
- $auth_alt_user_file : this is a file you can use to store users before you add them to the user
database if you are not allowing users to add themselves instantaneously. This variable is included twice, one commented out.
How this works is the following. If you use the variable with the calendar.altusers file specified, users will be added to this
file when they register. They will not be able to access the calendar, unless you are allowing public access. If you set this variable,
the administrator will have a button to view the pending users. You can select people from this file to upgrade to full users status,
in effect moving them over to the $auth_user_file, and thus allowing them to access the calendar by logging in. This is a good option
if you want to keep the calendar online and easily accessible, but want to really restrict access to it.
- $auth_default_group : set this to the access level you want new users set to when they register. This value will have
no effect until the user is listed in the $auth_user_file.
Set this to "public" if you want people to only be able to view the calendar until authorized to add events, "user"
if you want them to be able to post events the first time they use the script, and "admin" if you want your calendar
thrashed on a regular basis. ; )
- $auth_admin_from_address : this is the address that will be used in the FROM field for any email generated
by the script. This is a must.
- $auth_admin_email_address : this is the email address of the admin who is to receive registration notices.
If "$auth_email_register" is set to on, you must have a valid email address entered here.
- $auth_session_dir : this is the location of the directory which will temporarily hold the session files
for this calendar. Note that each calendar should have its own session file directory.
- $auth_register_message : this is the message that you want to appear when users are registered. You should change this
is using the $auth_alt_user_file to something like "Thanks. You will be notified when your registration is accepted.".
- $auth_password_message : if using generated passwords, this is the message that will precede the password
in the email message that is sent.
- @auth_extra_fields : these are fields, besides the default of password, username, and access level, that
are stored in the user database.
- @auth_extra_desc : these are the names for the above fields.
- @auth_names : these are all of the names for the fields that will be used when generating tables of users.
- $auth_reg_name : this is the string that will be placed in the subject line when emails are sent notifying
the administrator of new users. It will also be used when notifying users of registration status.
- $cookie_end_date : the end date of any cookies set by this script. Don't change this unless you know what
you are doing.
- $auth_help_script : this is the location and name of the user_help.pl script, if using online help.
- $auth_help_setup : this is the location of the setup file for the user_help.pl script.
auth.setup
TOP | SETUP FILES
|
CALENDAR.SETUP |
The calendar.setup file is a bit intimidating the first time you look at it. I have broken the variables into
groups that are somewhat related to each other, and will cover each in turn.
« File Locations |
Year Information |
Customization Variables |
Arrays and Hashes »
File Locations and Information
These variables provide the calendar.pl script with information regarding the location of files and/or directories that
will be accessed by the script.
- $this_script_url : this is the location of the main script. If you didn't change the file name, you don't need to do anything with this variable.
- $admin_script : this is the name and location of the fc_admin.pl script. If you didn't change the file name, you don't need to do anything with this variable.
- $path_to_events : this is the path to the events directory, relative to the framecal.pl file.
- $temp_lock_dir : this is the path to the calsf directory, relative to the framecal.pl file.
- $count_lock : this is the path an name to the counter lock file.
- $counter_file : this is the location of the calendar.counter file that is used to provide the script with a unique
ID number for each event added to the database. Again, we use the $calendar_type variable so we stay in the correct calendar directory.
- $help_script : this contains the path to the user_help.pl script for use in generating the html tags
for the links to the help files in the calendar script.
- $help_setup : just like $calendar_type holds the subdirectory to the setup files for the calendar, this
holds the directory to the help.setup file for the calendar in question.
- $in_maintenance : if this is set to "1", whenever someone hits the calendar, they will get a message that
the calendar is currently undergoing maintenance, and to please check back later. If set to "0", it does nothing. Setting this to
one will allow you to do directory maintenance, file maintenance, etc., without giving bogus information to users and/or loosing information.
calendar.setup
Year Information These variables just provide the year limits for use in the script.
- $greatest_year : this is the greatest year that you want people to be able to access via the script.
calendar.setup
Customization Variables These variables allow you to customize the look of your calendar, so that it will blend in
with the rest of your site.
- $bodytag : use this variable to set properties that would normally go in the BODY of your html document.
Remember to use an absolute path to the background image, if any, and leave a leading space in the string, unless you are not using it
at all.
- $hitxt : this variable sets the font color used in the column names row of the tables that are generated
by the script.
- $basefont_tag : if you would like to specify a basefont for your calendar, set it here. You can specify font face,
color, and/or size.
- $subjcol : this variable sets the color used for the subject line of an event when viewed.
- $apptcol : use this variable to set the background color for the cells of the column names in the tables
generated by the script. This color should contrast with $hitxt above.
- $timecol : this one is used to set the color for the start time, location, and end time of the event when viewed.
- $evntcol : set this variable to the hex color value that will be used to hilite the cells that contain events in the month view.
- $tdycol : set this variable to the hex color value that will be used to hilite the current day when the month is viewed.
- $cal_name : the name of your calendar, displayed in various locations throughout the script.
- $notify_event : set this to "1" if you want the administrator to be notified via email every time an
event is posted, modified, or deleted. Set it to "0" to disable admin event notifications.
- $use_help : set this to "1" if you want to use the online help provided with the calendar.
- $day_frame : when creating your frameset, you will need to name each frame in the set. Set this variable to the
same value as the name of the frame in which you want to display day information.
- $month_frame : the same applies here as above, except this variable is set to the name of the frame in which you
want to display the month view.
- $day_cell_width : this value is used to set the width of the cell for each day number when viewing the month.
Depending upon the font you used in the basefont tag, and how wide your month view frame is, you can adjust this number to get the
calendar to display well (read symmetrical).
- $use_time_zones : if your calendar will be used by people in many time zones, you can turn this on so that start
and end times will display the time zone as well, for better organization. If set to "1", it is on, and will display. Posters will
be prompted to enter a time zone for their events. If set to "0", they will not be displayed and there will be no prompt.
- $strip_html : if you would like to prohibit HTML tags in your event postings, set this to "1". Else set it to "0".
- $allow_notify : set this to "1" if you would like to allow notification of registered users of event additions, modifications,
and deletions. If turned on, when an event is posted, the poster will have the option of selecting users to notify of the event. These values will
be saved with the event. If the event is modified or deleted, the same people will be notified of the changes. Set this to "0" if you don't
wish to use this feature.
- $allow_links : set this to "1" if you would like events to have an optional link to further information posted. If you turn this
on, users will have the option to enter a link title and URL that will be displayed with the event. The link will be formatted to open a new
browser window when selected, to prevent frame hijacking. Set this to "0" if you don't wish to use this feature.
- $old_events : this value is tied in with the &first_pass=on portion of the query string (see below). If you are using this,
set this value to the number of old months you would like to maintain as a buffer. If set to one, events older than the current month minus one will be
automatically deleted by the script the first time it is loaded. This allows you to automatically clean up your databases and directories, instead of manually
going in every so often to do maintenance.
- $html_url : the full URL to your frameset page, for use with emails. This URL will be included in the email message to allow people
to more easily get back to the calendar when notified of a calendar event.
- $time_offset : this variable is used for the display of the last modified property of each event. Basically, if your server is in
a different time zone than your office, you can set this variable to the offset value, so that it appears as those the server is in your time zone.
calendar.setup
Arrays and Hashes
These are the arrays and hashes used by the script for use by various parts of the script.
- @day_names : an array containing the names of the days of the week.
- %month_hash : an associative array ("hash") which pairs month names (values) with their numbers (keys).
- %TIME : a hash which pairs time values with military time keys. I covered all the times in a day every
half hour in the demo. Feel free to reduce the number for your application, just be sure to remove them in their proper pairings.
- @time_zone_values : the time zones you expect your script to cover. I added this upon request of a user,
as the script was being implemented on a script to organize events online, across multiple time zones, and we needed to be
able to set a base time for the event. If you are not using time zones for your purposes, you don't need this array.
- @hour_values : an array of hour increments to be used to set the duration of an event. Feel free to
shorten this array for your particular use.
- @mins_values : an array of minute increments to be used to set the duration of an event. If you change this, be
aware of something very important: The end time of an event is taken by splitting the start time, and then adding the duration minutes
and hours appropriately to get the end time. Thus, if you want to add "15" and "45" to this array, you will need to change
your values in %TIME to be incremented on a 15 minutes basis.
- @field_names : this is an array of the column titles that will be used when creating the modify or delete
events table within the script.
- @field_values : an array of the variable names associated with an event.
- @req_fields : an array containing the items from @field_values that are required for every event.
calendar.setup
TOP | SETUP FILES
|
HELP.SETUP |
The help.setup file has only a few lines in it, and they are there mostly for formatting purposes.
The following variables are defined:
- $bodytag : this variable is used to format the body element of the displayed file. Remember
to use absolute paths to any background file that you may wish to use.
- $hi_txt : this variable is used for hilited text.
- $basefont_tag : this variable is used, if desired, to specify the basefont used for the displayed html.
If you don't care to use a basefont tag, just set the value of this variable to "".
- $help_name : this variable is used as the displayed title for all windows opened with the help file.
- $admin_email : this variable will hold your email address for use in the footer of the displayed
help files, so users can get in touch with you, if they need to, from the displayed help file.
- $help_dir : is the location of the directory that holds the help text files, either relative to the
user_help.pl file, or with an absolute path.
In the body of the user_help.pl file, the path to the libs directory is hard coded. If you place your libs files
in a different directory, be sure to update the file.
TOP | SETUP FILES
|
|
RUNNING THE SCRIPT
|
Make sure that you are using Perl 5.0 or better and that the first line of the
executables, framecal.pl, fc_admin.pl, and user_help.pl, points to the location of Perl on your server. For
example, if your Perl interpreter is located in the "usr/local/bin" directory, you
should change the first line of both files to read:
#!/usr/local/bin/perl -T
Note that this script uses Taint checking (the -T flag) to help improve security when using this script.
When you want to view the calendar from the web, simply reference it as you would an HTML document in a frameset. For
instance, something like
http://www.fubar.com/cgi-bin/framecal/framecal.pl?calendar=dbs/demo
would go in the SRC parameter of a frame tag to run the script. If you would like to include auto-trimming of events,
add &first_pass=on to the end of the SRC string, and be sure to set the proper variable in your calendar.setup file.
Depending on your usage, you may have many calendars with separate directories for each, of course. Be sure to set up
separate links for each, using HTML framesets. For an example of how to set it up with frames, as it is intended, take
a look in the "htdocs" directory of the distribution. There you will find a file called "cal.html" that shows
how to set up the frameset document to start the script when the page is loaded. It also has some comments in it to do a really neat
trick with the script if you allow public access to the calendar.
When you do add new calendars, be sure to create new calendar.counter, calendar.altusers, calendar.setup, calendar.users, and
help.setup files to fill the new directory, and be sure to create subdirectories called "calsf" and "events" under it to store
the session and events files.
TOP
Copyright © 1997 - 1998, Michael E. Schechter
Last Updated: Sunday, December 06, 1998
|