LDP/LDP/lampadas
david 4639663e60 string_id to string_code bugfix 2002-05-03 12:32:56 +00:00
..
database string_id to string_code bugfix 2002-05-03 12:32:56 +00:00
lib mod_perl preparations 2002-05-01 02:43:00 +00:00
tools add misc tools, they got deleted in the cvs move for lampadas 2002-04-25 16:27:19 +00:00
www mod_perl preparations 2002-05-01 02:43:00 +00:00
COPYING add fields 2002-01-08 12:57:51 +00:00
CREDITS Still not working yet, but most parts are sketched, including the web interface. 2002-04-19 00:11:06 +00:00
Makefile.PL home url validation 2002-04-24 20:53:10 +00:00
README README updates 2002-04-25 20:14:07 +00:00
test.pl mod_perl preparations 2002-05-01 02:43:00 +00:00

README

This is Lampadas, an online document production and publication system.
Lampadas is Free Software; see COPYING for details.

Lampadas is a young project, although it is based on the LDP Database,
which has been in actual use for over a year. It is not yet recommended
for production use.


Applicable Standards
--------------------

Lampadas adheres to the following standards:

ISO 639 Language Codes, http://www.w3.org/WAI/ER/IG/ert/iso639.htm
Unicode Encoding, http://www.unicode.org/unicode/standard/standard.html


Security
--------

Anyone may browse and search the database, however only registered users can
make changes to the database at this time.

Each user is recorded in the `username' table. If the 'admin' field is 't',
the user may alter anything in the database. If the document_user table also
has a record for that user, the user may edit those documents.

Admins may add new maintainers and documents.

Only admins and authors may edit documents, and authors may only edit their
own documents.

The SysAdmin level allows very low level system configuration. I recommend
that a very small number of people be given SysAdmin rights for system
configuration. Admin level is all that is needed to work with the system,
including user and document administration.


Architecture
------------

Lampadas is implemented as a set of Perl scripts that generate web pages
through the Common Gateway Interface (CGI). These scripts depend upon a Perl
module called 'Lampadas', which is implemented in 'Lampadas.pm'.

The data is stored in a PostgreSQL database for scalability and speed.

The goal is to eventually provide support for mod_perl as well as additional
databases.

Nicolas Chauvat is working on a Python port which is not yet functional.


Requirements
------------

Lampadas requires several Perl modules to be installed and working
properly. All of these modules are available from the Comprehensive Perl
Archive Network (CPAN) at http://www.cpan.org.

See Makefile.PL for a list of required modules.

To install a Perl module, type 'perl -MCPAN -e shell' to get a CPAN shell,
then type 'install <module>' to install each module. For more information, see
CPAN's website or your Perl documentation.

Lampadas also requires the following external programs:

	file
	grep
	head


System Variables
----------------

System variables are stored in the 'config' table as name/value pairs.
Variable names are case-sensitive.

version
	The program version. This isn't really the version of the code,
	but the version of the database tables. However, the code and database
	versions must be in sync or the system will fail, perhaps horribly.
	
smtp_server
	This is the full domain name of your mail server, which is used when
	sending mail to users. Relaying must be allowed by the user under whom
	the web server is running, or mail will fail.

	If mail fails, users will not be able to register!

copyright
	This holds the copyright statement for the site. You may add to it as
	appropriate, but remember that much of the content is generated by
	Lampadas, and  is Copyrighted by David C. Merrill.
	
	Please do not remove my copyright statement, but amend it as
	appropriate for your installation.

local_email
	Place the email address here that you want to appear in the From header
	on all mail sent by Lampadas.

cookie_domain
	This is the domain name used when setting cookies. Note that to prevent
	cookies from being set in TLDs (e.g., .edu or .com), this value
	must contain two periods, as specified in RFC 2109. So, for example,
	for lampadas.org the cookie should be set to '.lampadas.org'.

hostname
	The hostname of the server. Used when doing redirects.

root_dir
	The root directory where Lampadas is available on your web server.
	It must end with a /.

cvs_root
	The root directory of the CVS tree. Filenames must be below this dir.
	It must end with a /.