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
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
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
|
|
|
The GPL License |
|
The script |
|
|
|
Documentation - this file |
|
How to upgrade from Version 0.3 |
|
|
|
Example config file |
|
used to create an unique message ID |
|
|
|
Template with similar look to the output of version 0.3 |
|
German translation of simple_en |
|
Stylish template with loads of images and some JavaScript to pre-check form data |
|
German translation of fancy_en |
|
Similar to fancy_en, but also looks good in Netscape 4.x |
|
German translation of table_en |
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
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
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"
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
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!
Each template contains at least 6 files and optionally some pix and css
|
The Message Editor |
|
Main part of the message viewer. This file should _not_ contain <html> or <body> tags, since it is always embedded into other pages. |
|
Template for each message. This file should _not_ contain <html> or <body> tags, since it is embedded into main.tmpl.html. |
|
Preview page |
|
HTML framework used if not embedded with SSI |
|
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!)
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
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.