Software Garden Shiva Signup Program:
Shiva Product Home Page
DESCRIPTION

The Software Garden Shiva Signup program is a server-based program to facilitate keeping track of group member sign ups for attendance at events, providing food, etc. It is very general purpose. The program runs on a web server and is accessed using a browser connected to the Internet. Written in Perl, it comes with complete source code but is designed to be easily customized by users without needing to know Perl. The product is available as Open Source software under the GNU GPL license for no charge.

Here is a sample screen shot:

example used in screencast

You can watch at 10 minute demonstration screencast of the program. (This old Flash video may not work for you. Here it is a normal video on YouTube: YouTube version of demo and tutorial.) This demonstration shows the use of the administration interface and can be used for training. The program has extensive explanatory material on each screen.

The program was originally designed for use in scheduling as much as a week's worth of daily prayer services as part of the seven day Jewish morning period after a family member is buried. This period is known as "shiva" (the word sounds like "shih'-vah", not like "sheev'-ah") and each service is known as a "minyan". It is important to have a minimum of 10 participants at each minyan and it is often the religious community's responsibility to make sure that enough people show up on time for each of the services. The demo is about such a use, as well as one for volunteering to provide food for the mourning family. However, as you'll see, the program is very flexible and can be used for many other purposes.

HOW TO GET IT

The Shiva program is available for download. The latest version is 0.9beta. It is provided with no support and NO WARRANTY OF ANY SORT.

The product is free software, released under the GNU GPL 2.0 license. See the Legal page for more details.

ZIP File shiva-0-9beta.zip 28KB, 2007-04-12 10:04AM
GZ Archive File shiva-0-9beta.tar.gz 28KB, 2007-04-12 10:04AM
Text File shiva-0-9beta.txt 105KB, 2007-04-08 2:16PM

The wikiCalc program is written in the Perl computer language. In order to run, it requires a copy of the Perl language system which is commonly found preinstalled on most web servers.

These instructions are oriented towards users with technical experience who are comfortable with configuring and running programs from the command line or setting up web CGI programs. Once set up by such an experienced person, regular computer users should be able to do most of the administration work.

The server's system requirements are: 1MB+ disk space, Perl language system that includes the library module CGI (very common).

The ZIP version can be unzipped using a variety of utilities, such as those that come with Windows XP. If you downloaded the GZ archive file (a common Unix/Linux format), you can extract it into the "shiva" subdirectory of the current directory with the command "tar -xvzf shiva-0-9beta.tar.gz". The text file may be viewed in a browser to see the code and then saved with the name "shiva.pl" to a directory on your computer.

Move the one file you will get, shiva.pl, into the directory on your web server where you want Shiva to run. This could be, for example, in the cgi-bin/shiva directory or the cgi-bin/signup directory. Commonly, you will use an FTP program to do this. You may need to upload the file in "ASCII" mode (as opposed to "Binary" mode) for some servers. (This is so that line endings are converted correctly for your server, otherwise the program may fail to run.)

Note that the shiva.pl file must be executable, such as by having its permissions set to 755. It is important that the permissions be set correctly. This is the same as with most Perl programs you would run on the server. (In some cases, you may need to edit the first line of the program, which starts out as the common "#!/usr/bin/perl" to point to a different place for Perl. If you have installed other Perl programs on the server, you will be familiar with this. If not, look at the documentation about your hosting service for information about the location of the Perl interpreter.) Also, if you are installing Shiva in a new directory, be aware that it needs to have permission to create and modify the data files in the working directory and below. Therefore, make sure that when run by the web server daemon Shiva has permission to create files in the directory (for example, that the directory is in the web server's group "apache" with write permission to the group). Normally this should not be an issue.

You access Shiva when run on a server by executing the shiva.pl program with a browser request. For example, if it was installed in cgi-bin/shiva, you (and all users) would access Shiva with a URL like:

http://www.you.com/cgi-bin/shiva/shiva.pl

The first thing you should do after you have installed Shiva is to login to the Admininstration page and set the password.

Security Note: Before installing Shiva, make sure that you are aware of the security issues it may raise. In general, Shiva does not give users much access to the system other than to create "signups". Admin users have somewhat greater power, and can corrupt the system, for example by changing prompts, placing malicious Javascript in prompts, etc. Admin users should be trusted people. The program has not been thoroughly tested for security issues. You may want to protect the program with a password (such as by using .htaccess) so that only authorized users can run it.

There are cases in some server installations where text files in the cgi-bin directory, or other directories where you might install Shiva, can be viewed by non-admin users by just typing the right URL into a browser. For example, "http://www.you.com/cgi-bin/shiva/shivadata.txt" would show all the Admin data, including the password (which is stored in clear text). If you are running Shiva on such a system, you might want to block such access by putting an .htaccess file in the directory with shiva.pl containing something like this:

<FilesMatch "\.(txt)$">
order allow,deny
deny from all
</FilesMatch>

Uninstall: To uninstall the program delete the files you downloaded and extracted as well as the directories and data files created.

KNOWN ISSUES

As of 12Apr07:

  • None at present other than those listed in the source.

(c) Copyright 2007 Software Garden, Inc.
All Rights Reserved.

Software Garden and Garden are registered trademarks of Software Garden, Inc.
Dan Bricklin's is a registered trademark of Daniel S. Bricklin.