Pappalapapp 0.5 Documentation

Pappalapapp is a Guestbook / Forum / Discussion Board / Commenting System for the web in a single perl script.

Copyright (C) 2001 - 2002 Roland "Robelix" Obermayer

Development status: beta

Pappalapapp Homepage


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


Features

Easy to use (just a single cgi-script)

It supports multiple discussion boards

Threaded view for replies

All HTML-stuff is read from template files - Easily change the look and feel, and even translations (some English and German examples are supplied in the package)

No need for a database, everything is stored in plain text files

Pappalapapp is designed to add messages directly into a page, but can also be used as standalone guestbook

The User decides if mail address and URL are visible to public


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


Requirements

An Apache server running on Unix (so far tested with Linux only)

If you want to add a discussion board into a html-page the server needs to have SSI (server side includes) enabled.

Perl 5 with the CGI and Fnctl modules (should be on every Unix machine)

The Right to run own cgi-scripts on the server


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


Package contents

pappalapapp-0.5.tar.gz

COPYING

The GPL License

pappalapapp.pl

The script

doc

doc.html

Documentation - this file

upgrade.html

How to upgrade from Version 0.3

data

config.txt

Example config file

msgnr.txt

used to create an unique message ID

templates

simple_en

Template with similar look to the output of version 0.3

simple_de

German translation of simple_en

fancy_en

Stylish template with loads of images and some JavaScript to pre-check form data

fancy_de

German translation of fancy_en

table_en

Similar to fancy_en, but also looks good in Netscape 4.x

simple_de

German translation of table_en

< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


5 Steps to run pappalapapp

1) Edit the configuration in the script

First you need to edit the config-part at the beginning of pappalapapp.pl. All options are explained in the file.

Most important are $data_dir and $template_dir

2) Edit the config.txt file

An example file is provided in the package

Add a "BOARD" line for every message board you want to use, and a "TMPL" line for every template

An example with 2 boards and 2 templates

# Format:
# "BOARD" | Board-ID    | Description  | data-file
# "TMPL"  | template ID | template dir | base-url
#
# use "#" for comments
# empty lines are ignored

BOARD | gb          | My Guestbook         | book.txt
BOARD | default     | Pappalapapp test     | test.txt

TMPL | default | simple_en  | /pappalapapp/templates/simple_en
TMPL | fancy   | fancy_en   | /pappalapapp/templates/fancy_en

3) Create the data-files

Create an empty data file for every message board

For the above example you need book.txt and test.txt

On unix the easiest way is "touch book.txt test.txt"

4) Upload

Upload "pappalapapp.pl" to your cgi-directory and set it's permissions to 755 (rwxr-xr-x)

Upload msgnr.txt, config.txt and all data-files to the data-dir you specified in the config section of pappalapapp.pl. Set the permissions of msgnr.txt and the data-files to 666 (rw-rw-rw-), config.txt to 644 (rw-r--r--)

Upload the templates to the template-dir you specified in pappalapapp.pl.

On some servers you may need less permissions

5) Run the script!

To run it as standalone guestbook simply link the script:

<a href="/cgipath/pappalapapp.pl?board=gb;length=10;template=fancy"> Guestbook </a>

To add a discussion board iside a page add: (on most servers you will have to name the file .shtml)

<!--#include virtual="/cgipath/pappalapapp.pl?board=gb;length=10;template=fancy"-->

replace /cgipath/ with the path of your cgi-directory, often "cgi-bin" or "cgi", but can be anything - Ask your Server-admin, not me!

board is the Board-ID you specified in config.txt. Default is whatever you specified as "default"

lenght is the number of threads (not messages!) to be displayed per page. Default is to display all in one page.

template is the template to be used. Default is whatever you defined as "default" in config.txt

On some servers you may need to rename pappalapapp.pl to pappalapapp.cgi

Since I have no clue about other servers than Apache running on Unix please don't bother me with questions about these!


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


Creating a custom template

Each template contains at least 6 files and optionally some pix and css

edit.templ.html

The Message Editor

main.templ.html

Main part of the message viewer. This file should _not_ contain <html> or <body> tags, since it is always embedded into other pages.

msg.templ.html

Template for each message. This file should _not_ contain <html> or <body> tags, since it is embedded into main.tmpl.html.

preview.templ.html

Preview page

standalone.templ.html

HTML framework used if not embedded with SSI

strings.txt

Some definitions like Date/Time format, error messages...

Have a look to my templates and find more explanations there.

Cool templates or translations are welcome! Mail me your stuff and I'm going to add it to my page. (with credits, of course!)


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


ToDo

So far I have no admin-script to remove/change entries. But you can edit the text files to do this. The format is simple:

#~#
message ID | timestamp | IP | reply | name | email address | url | mail public | url public
Message title
Message text (may be more than one line)

message ID is an automatically generated unique number. Do not change!

reply is the message ID of the parent message. It's empty if it's a new thread

mail public and url public are 0 if it's hidden or 1 if it's public


< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


License

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

< Main / Features / Requirements / Package Contents / Usage / Creating a template / ToDo / License >


[an error occurred while processing this directive]

< Pappalapapp Homepage >


Guaranteed to be 100% X-MAS free! A System that deserves the prefix 'Operating' Created with Quanta+ WebEditor Graphix made with The GIMP