v1.0b4
3/31/99
Contents:
- WHAT IS W-AGORA?
- IS W-AGORA A WEB-BASED BULLETIN BOARD SYSTEM?
- HOW MUCH DOES W-AGORA COST?
- WHAT CAN YOU DO WITH W-AGORA?
- WHAT'S A W-AGORA "THEME"?
- IN WHAT LANGUAGE IS W-AGORA WRITTEN?
- WHERE CAN I FIND FULL DOCUMENTATION ON W-AGORA?
- WHAT FILES ARE INCLUDED WITH W-AGORA?
- CAN I HELP DEVELOP W-AGORA?
- WHAT'S AN "AGORA" ANYWAY?
- WHAT'S PLANNED FOR THE NEXT RELEASE OF W-AGORA?
- WHAT'S CHANGED SINCE THE LAST VERSION OF W-AGORA?
- WHO CONTRIBUTED TO W-AGORA?
W-Agora (Web-Agora) is a powerful database-driven communications system which allows you and your visitors to store and display messages, files, and other information on your web site.
IS W-AGORA A WEB-BASED BULLETIN BOARD SYSTEM?
Well.. Yes and no. In its default configuration, W-Agora acts as a multiple forum or bulletin board system. For example, users can visit your web site and leave messages for other visitors.
Beyond this simple web-board functionality, W-Agora also includes:
- Threaded messages
This means that all replies to an original message are associated with that message in a nested fashion.
W-Agora indicates which messages are original topics, and which are replies to a message. W-Agora has no limit to the number of messages, the number of replies, or the number of replies to replies :)
Threaded messages can be viewed in a "compressed" mode, where only the first posts are displayed, or can be "expanded" to show all the sub-messages under a particular topic.
- Multiple database system support (mySQL, mSQL1&2, PostgreSQL, and DBM)
This means is that you can install W-Agora to use various types of database systems to store your messages -- mySQL, mSQL and PostgreSQL are all free database packages which you can download and install on your system for advanced message-base manipulation.
A database server is great for sorting through messages and also can be used to create new "looks" to your messages on-the-fly. Unlike some older, less sophisticated message boards, W-Agora allows you to use the latest state-of-the-art FREE open source database technology to search, index, sort, delete, filter and manipulate your messages.
If you choose not to use a database server, the file-based "DBM" file format works just as well, although you'll have to keep the messages stored on your webserver itself.
- Multiple search engine support.
There are all kinds of ways to search and index a message base. W-Agora presently supports three different methods-- via the 1. Swish or 2. Namazu search engines or via 3. SQL-based database queries
In order to use the search engine feature you must install either the swish or the namazu search engine (swish is a package written by Kevin Hughes. The source code is available at : ftp://ftp.eit.com/pub/web.software/swish/ )
The SQL database search system now allows you to do (case-sensitive) searches as well.
- Multiple forums (all forums can be managed via your web browser)
As the webmaster, you can easily add and subtract forums, or specialized topics, via the administration web page. Each forum has its own messages and you can have different moderators control and monitor each forum through a unique password which you assign to that forum.
Now with version 3.0, each forum can also have its own "theme" or graphical look. Change the sizing, colors, positions, and displayed content. And you can have different forums using different configuration sets. They don't even need to be using the same type of database!
- Centralized, web-based administration (to create/ configure forums, customize look-and-feel, delete notes, etc.)
Setting up W-Agora is REALLY easy. Once you install the system, you can configure your forums through an easy-to-use administration page. It's all point-and-click!
- All message elements (including buttons, frames, forms, headers, footers, etc.) are customizable
Say no more! As W-Agora grows, we hope to add different "theme sets" so you can choose from different looks at the touch of a button. For now, you're on your own to create some great looks. And if you wanna send them to us to add, we'd appreciate it!
Theme-support is built into W-Agora, so now we're just waiting for you great people to send us some new "looks" and we'll add them to our Theme Library.
- Posted messages can be stored either in a HTML file or generated on-the-fly.
In both cases, the notes are generated from a customizable template.
This is a big deal. Say you've got a forum about "the wild west." You want your forum to have a particular look-- say a western theme. Through the Administration pages, you can customize each forum so that it has a distinct look and feel-- use western icons or graphics, change the messages to say stuff like "Thanks for postin' partner!" -- add a western-ish sunset background or a picture of a horse after each message-- the entire user experience is totally changable.
And you don't have to do any real programming-- all you need to know is very basic HTML and you can customize your forum without affecting any other forum you may want to install.
- Frames or no frames option
Although we recommend using the frames option, you can turn it off and the system will still work great!
- File upload support
W-Agora allows users to UPLOAD files as "attachments" to their messages (MIME is fully supported). In this way W-Agora can also be used as a file maintanance system. Webmasters can provide software upgrades from W-Agora and users can use W-Agora to post bug reports or notes about a particular file.
File attachments could come in real handy for many forums-- People can upload .GIFs, executable files, business cards, etc.
To use the file upload feature, both your HTTP server and your user's browser must support it (that is, you should use Netscape Navigator > 2.0 or Internet Explorer > 4.0)
Of course, if you don't want this feature turned on, it's really easy to configure the forum not to use it.
- E-mail integration: Automatic notification on reply/posting
In order to be notified of activity on the board, both the administrator and users who post to the message base can request that they be emailed with new posts or replies to their messages.
This option can be turned off by the administrator.
- Users can edit/delete their own notes
How many times have you posted something to a forum and then realized that you spelled a word wrong and wished you could correct it? This feature (which can be turned off by the webmaster) allows you to go back and re-edit a message using the password you supplied when you originally posted it.
- Remote Web Publishing
That's right! As an extra bonus, W-Agora gives you the option to allow certain remote users to browse the file system on which the HTTP server runs to publish on the WEB.
Mostly used in trusted Intranets, this feature actually lets visitors access the web server machine's file system and upload files! This feature is turned off by default, but many people like it so it's included.
- Multiple-language support
Because all the messages to the user are stored seperate from the main program, it is easy to configure them to say whatever you like in whatever language you choose.
Currently, W-Agora supports English, French, Japanese, and Portugese. Additional languages are coming. If you'd like to help us by translating some 60 one-line messages into your language, please let us know!
WOW. THIS SOUNDS GREAT! HOW MUCH DOES W-AGORA COST?
It's free. That's right. Free.
Furthermore, W-Agora is distributed under the "artistic license," which means you have full access to the source code. You are free to make additions, bug-fixes, and alterations. We hope that you forward a copy of any improvements you make back so that we can use them for the next distribution of W-Agora!
For more information about the artistic license, read http://www.w-agora.net/license.php.
WHAT ELSE CAN YOU DO WITH W-AGORA?
W-Agora is WAAY more than just a message base, although that's it's "default" configuration. W-Agora is very easily extendable in functionality. Here are some ideas for how you can use W-Agora:
- As a "deluxe" message base.
The features built into W-Agora are advanced, but pretty basic. You can add custom fields to extend the information stored about each message. For example, if you want to add a field that stores the number of times a message has been read, it's easy to do. If you want to add a field storing, say, the location of the poster, you can do that too.
The message-base functionality is basic, but it's been designed with portability in mind. As more people use the system and add to it, it will grow quickly!
- To offer files to your users or send software updates to an intranet
Because W-Agora allows you to use attachments, you can use W-Agora to offer updates and patches of software and provide an easy way for users to add comments or request new features.
- To distribute informations, news, announcements
W-Agora makes for a great news system. You can easily set up W-Agora so that original topics can only be posted by the webmaster and allow users to respond to them. Or keep the posting rights to yourself and use W-Agora as your personal soapbox!
- As a voting system.
Add "fields" to your database and you can track not only the user's name and their message, but their opinion on a particular topic.
W-Agora now supports multiple "looks" for each forum, including custom colors, graphics, layout, backgrounds, icons and style sheets.
Once users begin to customize the look of the W-Agora forums, we'll be grouping these modifications and releasing them as themes which you can use to replace many different aspects of your forum.
What needs to happen for the Theme Library to be created? All it takes is a nice creative person out there to customize their forum (via the easy web-based interface) and send them to us! Just post your specs to the W-Agora sample forum.
IN WHAT LANGUAGE IS W-AGORA WRITTEN?
PHP 3.x - an AWESOME (and FREE!) embedded, open-source scripting language which is similar in syntax to Perl. The difference is, PHP code is added directly into HTML code, and for web-programming it's much simpler to use.
PHP is easy to learn and is very powerful. There's so much to say about PHP but your best bet is to read about it from the PHP page: http://www.php.net
WHERE CAN I FIND FULL DOCUMENTATION ON USING W-AGORA?
Right here, baby: http://www.w-agora.net/doc.php
WHAT FILES ARE INCLUDED WITH W-AGORA?
There are a quite a few files that make up W-Agora. The reason for the number of files is that W-Agora is EXTREMELY modular, and each file does one task (and does it well). You can modify the program very simply by identifying the correct file, making your changes, and watching in amazement as your improvements ripple across the entire system.
It's so easy you won't be able to handle it.
As of version 3.0b3, here are the files:
README Read this one first admin.php3 Main administration page admin_forum.php3 administrate a forum browse.php3 browse directories on the server config_forum.php3 configure a forum delete.php3 delete a note and associated documents delete_forum.php3 To remove a forum edit.php3 display form to edit (modify) a note editfields.php3 Edit (add/delete) fields to be inserted in the database editform.php3 Program to edit variables which are stored in document editlist.php3 Edit list of notes editmsg.php3 Program to edit (customize) messages edittemplate.php3 Edit the document's template footer.php3 footer file (include appropriate footer) getfile.php3 send associated file (attachment to browser) header.php3 header file (include appropriate header) insert.php3 Insert a new note list.php3 list notes post.php3 display form to post a new note reply.php3 display reply form search.php3 search in forum setup.php3 First installation update.php3 Modify a note view.php3 Display a note w-agora.php3 The Main page admin: [All the adminstrative stuff is here] admin.list agora.msg agora.tmpl agora.var header.php3 header_admin.php3 init_conf.php3 w-agora.list doc: [Documentation for W-Agora goes here] ChangeLog Version History FileList Lists the files! ToDo a lot of things !!! doc.html The documentationFAQ.html The Frequently Asked Questions images: [Fun little graphics used by W-Agora] add.gif back.gif delete.gif folder.gif unknown.gif include: [little modules for different systems. You won't use 'em all] bn_namazu namazu script dbaccess.php3 if you want to build your own database support, start here. dbm.php3 [g|n]DBM access init.php3 initialization misc_func.php3 common usage functions mimetypes.php3 mime types msql1.php3 msql version 1 access msql2.php3 mSQL version 2 access mysql.php3 mySQL access namazu.php3 namazu search engine postgres.php3 postgres access swish.php3 swish search engine mimetypes.php3 mime-types templates: [These set up the default looks and settings for the forums]admin.conf configuration file for administration default.conf default configuration file for a new forum default.list variables for list of notes default.var fields to insert in database form.* default localized forms header.php3 default header msgs.* localized messages files template.* localized note's template w-agora.conf configuration file for w-agoraHell yes! W-Agora is always in development. If you have a request for a feature, or you've found a bug or added a feature or you just wanna say "hi", please let us know by posting to the development forum at:
http://www.w-agora.net/support.php
There's plenty of work to be done and we definately want your suggestions and input!
We're especially looking for:
- Beta testers who can run/test the system and donate some bug reports and/or fixes
- A graphic designer who can help come up with a great W-Agora logo & redesign the default message theme
- Someone to port the database to other systems such as Sybase, Oracle, Informix, ODBC. (It's really easy, we just need someone who has a system that supports it)
- People to help develop "themes" and alternate incarnations of W-Agora
- new languages supports (w-agora has been downloaded in many countries, notably in spain, italy, norway, russia, korea, etc ...), The translations consists in 3 files located under the 'template' directory
The translation is really easy to do, all can be done throw your web browser or with your favorite editor. If you have already done for your site, please let us know
- form.php3 : the form displayed when the user post (reply to) a message
- msgs.php3 : all texts displayed (currently 65 messages)
- template.php3 : contains the look of the generated messages
For the ancient Greeks, the Agora was a public place where people came to buy and sell goods and to meet to exchange news and ideas.
WHAT'S PLANNED FOR THE NEXT RELEASE OF W-AGORA?
Here's what's on the list. Wanna help add some of this?
- Bug-fixes!!
- Cookie support
NOTE: this has actually been written but it's not perfect yet and will be added into the next beta release. If you just gotta have it right now, why not check out the developer's forum and grab it?
- - Enter your information only once
- - Customizable preferences
- - Track new messages since your last visit
- - List only new messages
- More databases
- Even better administration tools
- Improved documentation
- New search interface
- Public/private forums (user authentication)
- Limit # notes listed per page
- Create "forum templates" (msg+form+fields list) or forum "themes"
- Export/import base
- Users list management (for mailing)
- display # of notes, date of last message, # of new messages
- Possibility to archive notes
- Sort messages by date/users
- Multiple attachments
WHAT'S CHANGED SINCE THE LAST VERSION OF W-AGORA?
W-Agora : Change Log ===================== 1999 March ?? Version 3.0b3 * Enhancements: - Added template/theme support (just a beginning, user can not yet create themes from his browser) (private joke: have fun Ron ;-) - added Database connection parameters (dbuser, dbpassword, dphost, dbport) in the setup and create_forum process. !! Warning !! For previously created forums, the configuration file must be edited in order to add these variables !! - added style sheet support (variable $bn_style) - listing customization enhancements: - Splitted $bn_line in two variables ($odd_line, $even_line) in order to possibly displaying alternating striped colors for messages. - added padding pattern - added begin-level variable !! Warning !! The forum.list file must be upgraded for previously created forums - ability to discard/accept HTML in fields (Added $bn_html_var array in forum.var + bn_allow_html admin. option) - Automatic Htmlization of embeded links : added checkUrl() in misc_func.php3 - added "preview" button (post.php3, reply.php3, insert.php3) in order to allows users to preview a note before posting it. - emphasize quoted text (reply.php3, insert.php3) - Display images, text and HTML files inline (view.php3) - Added attachment icon, message listing can indicate which have attachment ( see $attach_icon variable) - Added "collapse/expand" and "last in thread" feature (added 'newest' column) Thanks to Tom deLombarde <tomd@blackflute.com> - Added next/previous thread in the displayed thread (view.php3) (not supported with DBM) - Added option case_sensitive in the search() function Thanks to Ron Friedman <friedman@filmmaker.com> * Fixes, code changes: - Deleted notes were not removed from search results fixed in delete.php3 Thanks to Andrew <andrew.macintyre@aba.gov.au> - several fixes in posgres.php3 (Ron Friedman <friedman@filmmaker.com> - fixed bug in update.php3 => HTML file was modified even if the update was forbidden (bad password) - deleteNote() : thread column was not updated if root note was deleted => fixed - column's order is now unimportant (msql, mysql) - fixed bug in the msql search() (cannot use LIKE w/ a TEXT field in mSQL) Thanks to Jesus M. Castagnetto <jesusmc@scripps.edu> - fixed bug in swish.php3: removed -HBthec parameter in swish search, swish.conf was not taken into account during indexation: fixed - Now only needed fields are stored in the listing array (added list_var[] array in forum.var) - Changed the variable's arrays format: $db_var_size : removed $bn_var_size, $list_var, $bn_bind_var are now associative arrays !! Warning!! The forum.var file must be upgraded for previously created forums - Added updates and fixes to the japanese messages and namazu module Thanks to Jun Kuwamura <juk@rccm.co.jp> 1998 November 23 Version 3.0b2 - fixed bug in update.php3 => attachments where lost after editing a message - added default .htaccess file in directories admin, conf, forums - added Postgres support (many thanks to Ron Friedman <friedman@filmmaker.com> ! ) - fixed bug in create_forum => mySQL forums where created with bad variable names if w-agora was installed with mySQL access. - fixed bugs in msql.php3: o removed call to msql_errno o replaced BLOB type to char(1024) o invalid msql_seek in insert() -> fixed o set $debug to 0 o added msql2 support (createForum() ) - changed DBM code (optimization) so notes are read only once - changed all Database access: o added an abstract class "dbaccess.php3" which define all functions that must be implemented o changed listNotes() so notes are read in one DB access (all notes are now stored in an array, this array is displayed by DBaccess.getThread() - renamed variable $action to $bn_action, added it in all script files - added "Content-disposition" header (getfile.php3) - Added new variable $bn_dir_forums : base directory used to install new forums - Added next/previous page feature o new variable $bn_maxthreads : limit # of threads displayed on one page - now password must be entered twice in create_forum form - delete_forum now deletes all files in $bn_dir - attachments where not deleted -> fixed - insert & update forms now brings back to view.php3 instead of list - check for invalid characters in forum's name (create_forum.php3) - msgForm() => window.close is done after opener.location update (misc_func.php3) - added mimetype file => set default mime-type for attached files throw the browser - updated german messages & form - word wrapping : o Replaced <PRE></pre> tags in templates with <TR> o added "WRAP=physical" in textarea o added nl2br in insert/update 1998 September 09 Version 3.0b1 - fixed bug with unitialized $search_engine variable after installation, renamed it to $bn_search_engine - added field "thread" in mysql table (contains the thread the note belongs to) - made getThread() and search() working with mysql - added portuguese messages 46 & 47 Thanks again to Adelino <adelino@infologia.pt> - fixed bug in editTemplate.php3: replaced fileInode() with file_exists() - fixed bugs with quotes in editmsg.php3 and editTemplate.php3 - now allows attachments in update.php3 - added German messages. Thanks to Helmut Wirth <wirth@bison-soft.de> - insert.php3: call before_access file before creating HTMl note to allow variable modification before insert in database - dbm.php3: preserve old fields not presents in the update form - swish.php3: $bn was not initialized in search() -> fixed 1998 September 01 Version 3.0a1 (new PHP3.0 version) - PHP3 port, main part of code has been rewritten to use new PHP features. - replaced remaining exec() calls with equivalent php functions - made server file attachment works on Windows - basic mail address verification before send it - File upload: now copy the uploaded file in a separate directory so that differents file with the same name can be attached to different notes - search: notes are displayed throw view.php3 so they can be stored outside the web server tree - made search classes to provide a more flexible interface to other search tools - added getThread() => display current thread at the end of the displayed note - added search() function in $db_access.php3 files => basic search in database ------------------------------------------------------- 1998 July ?? Version 2.0b2 - msql.phtml, mysql.phtml: fixed bug in deleteForum() (invalid call to getpassword() ) - Display password in form only if modify or delete options are validated - admin/install.phtml: fixed bug when insert new forum in main table if forum and admin db access type are not the same. - Added Namazu search. Thanks to Jun Kuwamura <juk@rccm.co.jp> - Added Japanese messages (msgs|form|template.ja, form_install.phtml) Thanks to Jun Kuwamura <juk@rccm.co.jp> - admin/w-agora.list: suppressed trailing ")" - admin/agora.var: fixed bug in mandatory fields: replace $bind_var with $bn_bind_var - insert.phtml, update.phtml, post.phtml: added "do_post" variable so insert.phtml & update.phtml can only be called from post (basic check !!!) - post.phtml: this time really added msg[45] (user wrote) :) 1998 March 31 Version 2.0b1 - change $bn_before_insert to $bn_before_access, add it to view.phtml - msgs.xx: - add message 24 (delete.phtml) - add message 45 (post.phtml) - Add Portuguese messages (msgs|form|template.pt, form_install.phtml) Thanks to Adelino Monteiro <adelino@infologia.pt> - (m[y]sql.phtml, dbm.phtml) : Add setErrorReporting (0) (@unlink not supported) - insert.phtml: - add "Reply-to" header and original message in body of admin. mail. - Add $username in "from:" header. - post.phtml: - add " user wrote:" ($msg[45]) in quoted text. - fix PB with invalid char in quoted text if empty textarea (add JS QuoteText() function) - delete.phtml: replace fixed text with customized messages - delete_forum.phtml: - OK button return to admin(list) instead of delete_forum - can use admin password to remove a forum - admin/install.phtml: force forum password to admin password - Update Documentation an ToDo files - init.phtml: made OpenWindow() compatible with old browsers (window.opener...), add window.focus() then comment it for old browsers :( - view.phtml: - add "Content-disposition" header - Change include ("note") to ReadFile() for security reason - header.phtml, form.xx: Change fields disposition, textarea and window size to better fit in small screens - edittemplate.phtml: fix bug with newline characters - delete_forum.phtml: now remove file index.swish 1998 Feb 28: Version 2.0a1 - (msql.phtml) suppress "@" character in msql_ListTables and msql_listfields causing parsing error (php2.0b7) => add seterrorReporting() - update README and doc/FileList files - add images 'add.gif' and 'delete.gif' - (admin.list, w-agora.list) Threaded Forums : opportunity to create "sub-forums" - (edittemplate.phtml) accept quotation marks in the template's contents - (post.phtml) Add "Re: " in subject only for the first reply in the thread - (delete.phtml, update.phtml) - now include "$bn_before_insert" file before deleting or updating a note. - set new variable $action = "delete|insert|update" before including file - (dbm.phtml) fix bug in updateNote() : childs notes were lost after update. - add delete_forum.phtml: deleting a forum now remove notes, DBM file or SQL tablebase and configurations files - Fix some syntax errors (not detected by PHP 2.0 parser) - Merge config.phtml with admin_forum.phtml (config.phtml suppressed) - (misc_func.phtml) "beautify" MsgForm() - (browse.phtml) fix invalid image url - (admin_forum.phtml): Option "change fields" only displayed if access mode is "DBM" 1998 Feb 04: Version 2.0a0 * Complete rewriting of the program (Split program in several modules) * New features - Multi forum management (add "bn" parameter) - Add mSQL, mySQL support - Customization: - Can define/edit the fields which are stored in the database - Listing of notes is entirely customizable - Possibility to edit the form and header/footer files via the browser - Note are generated from a template, the entire template is customizable - New admin/config. parameters : - Maximum (uploaded) file size - Date format - "No-frame" option - PHP file to be executed before inserting a new note - user mail reply - Modify note: - All fields can now be modified. The HTML file is recreated from form fields - Delete notes - Possibility (for administrator) to delete several notes - Reply: - Add "quoted reply" - Send mail to original sender - Server browse and server file attachment: - The browse option is now disabled by default - icons are delivered in images directory - Change default starting (root) directory to /tmp - security enhancements: - Check if option enabled before start browsing; - Cannot attach file outside the browse directory - Cannot browse server upside the browse directory - Miscellaneous: - suppress "admin" and "delete" buttons in header - Suppress server-side browser type checking - Windows's compatibility (all file access are now made via standard functions calls) ------------------------------------------------------- 1997 March 13: Version 1.2b2 - Suppress tags </BODY> and </HTML> in the document - Suppress tag <PRE> in table - add $bn_swish containing the pathname of the swish executable - Completed documentation (renamed welcome.html to doc.html) 1997 March 10: Version 1.2b1 - Fix variable conflict with PHP Apache module version ($path_dir and url_dir renamed as $bn_dir and $bn_url respectively) - Add frame parameter ($bn_frame1 and $bn_frame2) - Backup config. file only if it exists => avoid error msg in Apache log - Remove FirstTime file only if config. file created - Fix problem with specials chars (', ",..) in the REPLY Form - Initialize $bn_mail_address with Apache variable $SERVER_ADMIN 1997 Feb 20: Version 1.2b0 - First public version uploaded to vex.netWHO HAS CONTRIBUTED TO W-AGORA?
- Marc Druilhe
- Wrote the initial program and is currently managing the project.
- He's the man!!!
- Adelino Monteiro
- Portuguese translations
- Ideas and suggestions
- Jun Kuwamura
- Japanese translation
- Namazu support
- V2.0 Postgres support
- Helmut Wirth
- German translation
- Ideas and suggestions
- Ron Friedman
- v3.0 Postgres support
- bug fixes
- A lot of suggestions
- this file!!
- Tom deLombarde
- Collapse/Expand Threads
- Last in Thread
- Preliminary cookie support (not yet implemented in 3.0b3, but almost done!)
- Andrew Macintyre
- Bug fixes
- Scott Worthington
- suggestions, images, icons
- Jesus M. Castagnetto
- Bug Fixes
- A ton of other people - thanks to everyone who's been helping!