Beehive Forum Readme http://www.beehiveforum.net/ Version 0.8 / 28th November 2007 A list of changes since previous Beehive Forum versions can be found in release.txt. 0. Contents =========== 1. Installation 1.1 Requirements 1.1.1 Requirements Notes 1.2 Instructions 1.2.1 Archive Extraction 1.2.2 Database setup 1.2.3 MySQL permissions 1.2.4 Upload 1.2.5 Installing the forum 1.2.6 Installing from CLI 1.2.7 Creating your config.inc.php 1.2.8 First use 1.2.9 Adminning 1.2.10 What to do if it doesn't work 1.2.11 Add your forum to our list 1.3 Customising your Beehive Forum 1.3.1 Style sheet 1.3.2 Images 1.3.3 The top frame 1.3.4 Emoticons 1.3.5 GeSHi 1.3.6 TinyMCE 1.4 Upgrading from previous versions of Beehive Forum 1.4.1 Upgrading your Beehive Forum installation 1.4.1.1 Make a back up of your database 1.4.1.2 Back up your files 1.4.1.3 Upload new forum files 1.4.1.4 Run the upgrade script 1.4.2 Skipping a version during upgrade 1.4.3 Upgrading 0.5PR1 to 0.5. 1.4.4 Upgrading 0.3 to 0.4. 1.4.4.1 Update the database 1.4.4.2 Update the config file 1.4.5 Upgrading from 0.2 to 0.3 1.4.6 Upgrading from 0.1 / 0.1.1 to 0.2 1.4.7 Upgrading from 0.1 or 0.2 to 0.4 2. Known Issues 3. Support 3.1 Requests / Bug reporting 3.2 General questions and help 3.3 Beehive Forums in foreign languages 3.3.1 Translating Beehive Forums into my native language 3.3.2 Completed Translations 3.3.3 Incomplete / Partial Translations 4. Credits 1. Installation =============== 1.1 Requirements ================ You need web hosting which provides: - PHP 4.3.2 or above - MySQL 4.1.16 or above 1.1.1 Requirements Notes ======================== - Beehive Forum requires PHP 4.3.2 as a minimum, but we recommend installing the latest PHP5 release where ever possible. - MySQL 4.1.16 or newer is required by Beehive Forum. As with PHP we recommend installing the latest release of MySQL 5 if possible. - As a minimum Beehive Forum requires the following privileges on the MySQL database and tables it runs from: SELECT, CREATE, CREATE TEMPORARY TABLES, INSERT, ALTER, UPDATE, INDEX, DELETE and DROP. You may optionally grant the FILE permission to speed up the creation of the dictionary during installation but Beehive Forum. Once installation has completed you may restore the default permissions without suffering any reduced functionality. 1.2 Instructions ================ 1.2.1 Archive Extraction ======================== How you extract the contents of the Beehive Forum distribution archive is very important. At all times please ensure that you retain the directory structure of the archive. If everything has been extracted correctly you should be presented with a directory that looks a bit like this: |- forum | |- docs | | |- schema.sql | | |- upgrade-01-to-02.sql | | |- ... | | | |- forum | | |- attachments | | | |- ... | | | | | |- emoticons | | | |- default | | | | |- images | | | | | |- alien.png | | | | | |- ... | | | | | | | | | |- definitions.php | | | | |- desc.txt | | | | |- style.css | | | | | | | |- none | | | | |- desc.txt | | | | |- style.css | | | | | | | |- text | | | | |- desc.txt | | | | | | | |- README | | | | | |- forums | | | | | |- images | | | |- admin_locked.png | | | |- admintool.png | | | |- ... | | | | | |- include | | | |- admin.inc.php | | | |- attachments.inc.php | | | |- ... | | | | | |- install | | | |- config.inc.php | | | |- new-install.php | | | |- ... | | | | | |- js | | | |- edit.js | | | |- htmltools.js | | | |- ... | | | | | |- styles | | | |- default | | | | |- images | | | | | |- admintool.png | | | | | |- attach.png | | | | | |- ... | | | | | | | | | |- style.css | | | | |- top.html | | | | | |- tiny_mce | | | |- plugins | | | | |- beehive | | | | | |- images | | | | | | |- code.gif | | | | | | |- noemots.gif | | | | | | |- ... | | | | | |-langs | | | | | | |- en.js As you can see the main distribution contains a docs and forum folder. The main forum folder, which actually contains the Beehive Forum files, itself contains several more folders with relevant files in them. If they are not extracted in the right place subsequently uploading them to your server in this incorrect order will result in your Beehive Forum working incorrectly or not at all. 1.2.2 Database setup ==================== To set up the database, use something like phpMyAdmin (get it from https://sourceforge.net/projects/phpmyadmin/), or direct MySQL if you have the "skillz", to create a database for your forum to live in. Take note of the database name, as you will need it when you run the install script. Beehive Forum would prefer its very own database, but if you can't provide that it should work in an existing one. 1.2.3 MySQL permissions ======================= To ensure full functionality as a minimum Beehive Forum requires the following privileges granted on the user account it will use for interacting with your MySQL database: SELECT, CREATE, CREATE TEMPORARY TABLES, INSERT, ALTER, UPDATE, INDEX, DELETE and DROP. Additionally you can grant the FILE privilege globally for the user account to aid in the creation of the dictionary. To do this will also require GRANT permission on the database you are to install Beehive to. Without the FILE privilege the installer for Beehive Forum will still function but it will take a lot longer to complete. 1.2.4 Upload ============ You should now upload the forum onto your web space. We recommend that you simply upload the "forum" folder directly, either into the root of your web space or into another folder of your choosing. 1.2.5 Installing the forum ========================== Once everything's uploaded, you will need to run the forum's install script. This is located in the /install subdirectory of your forum. To access it, you will need to load the file in your browser from the web space you just uploaded to, e.g.: http://www.mysite.com/forum/install.php This will then walk you through the creation of your new forum. Note that you will need your MySQL database's host address, username and password for this stage, as well as the name of the database from step 1.2.2. You should be able to get the information from your hosting provider if you're not running your own server. 1.2.6 Installing from CLI ========================= Support for the CLI installer has been discontinued. Please use the web based installer to set up your Beehive Forum. 1.2.7 Creating your config.inc.php ================================== Please use the web based installer to set up your Beehive Forum. Creation of your config.inc.php is handled automatically when installation is performed this way. 1.2.8 First use =============== If all went well, you should now have a working forum! After deleting the /install subdirectory (as is described by the install script) you can then log in to your newly created administrator account, using the details you specified at install. This account gives you access to everything, so you can create folders, set user permissions and so forth. 1.2.9 Adminning =============== Now you're ready to create some folders, so click the admin link near the top of the page, then choose folders from the menu on the left, and set them up. You may also wish to change the access permissions of your forum. In the admin section you will find options for restricting access to your Beehive Forum. The two main options are restricted, where each user account needs to be given permission to access the forum and password protected, where your forum uses a common password that can be given to users to allow them access. The other links on the left let you set up profile sections and items, where your members can provide information about themselves if they like, and do stuff to users, like ban them, gag them or promote them. You can also edit the forum 'start' page, change the forum style, add forum word filters and so forth. It's all explained in there. 1.2.10 What to do if it doesn't work ==================================== Don't panic. Pop over to http://www.tehforum.co.uk/forum/ and ask us for help, but remember, we don't get paid for this, so be nice. It's helpful if you can tell us your setup when you've got a problem, such as the type of server (e.g. Linux/Apache, Windows/Apache or Windows/IIS, etc) and the version of PHP and MySQL that you're using. If your Beehive Forum threw up an error message, paste that in as well. 1.2.11 Add your forum to our list (optional) ============================================ If you like, you can add your shiny new forum to our list of live copies by going to http://beehiveforum.net/forums.php It could be a bit of publicity for your site, and it helps us to be able to say "Look, all these people are using it!", but if you don't want to, you don't have to. 1.3 Customising your Beehive Forum ================================= Beehive Forum has user-selectable styles. Basically these are like themes (or skins for WinAmp users) for your forum. There are several supplied styles, and it's easy to create your own. You can edit the existing styles, but we recommend that you create your own. To create a new style simply create a new folder in the styles folder, with the name of the new style. For example, to add a style called "fish", you need a folder called "fish" in the "styles" folder. Then copy in the contents of one of the existing folders to base your new style on (the "default" folder is probably a good start) - style.css, top.html and the images folder with contents. You can also create random styles by using the forum styles tool in the admin section of the forum. Unfortunately this tool does not allow you to specify different multiple colours to use, rather it rather cunningly chooses some for you that are mathematically determined to be suitable based on your first choice. Notes: Due to the new multi-forum capabilities of Beehive Forum 0.5+, there are now two locations where style sheets/images etc. are held. For styles which you wish to be globally available to all forums on your server, add/change the styles in the /styles subdirectory. For forum-specific styles, you will need to add/change the styles in the /forums/FORUM_WEBTAG/styles directory, where 'FORUM_WEBTAG' is the webtag of your forum that you chose on forum-creation. See /forums/default as an example. Styles created using the admin styles creator will be saved as forum-specific styles. If you wish for a style you create through it to be global, you will need to manually copy the style into the global /styles directory through your FTP program. The files start_main.php, style.css and top.html can also be present in the /forums/FORUM_WEBTAG directory, which allows for per-forum start pages, default forum styles, and top frames. 1.3.1 Style sheet ================= If you know how to do CSS, you can edit the style.css file in the /styles/[stylename] folder to change colours, fonts and things like that. We recommend taking a backup first, though, in case you make a mess of it. As of BeehiveForum 0.8 you can also create per-file style sheets that allow you to give different pages different designs. This would for example allow you to give the thread list a background image but leave the other pages using the same design. To do this all you would need to do is create a .css file with the same name as the PHP script you want it to affect, sans it's extension. i.e. for the thread list you would create a style sheet named thread_list.css and place it in the same folder as the main style.css. Beehive will automatically find and use this style sheet in preference to the main style.css. There is one caveat though of course (isn't there always?). When Beehive encounters the per-file style sheet it will leave out the main style.css so any classes you want displayed in all your forum styles must be defined in each of your per-page .css files. 1.3.2 Images ============ Feel free to edit the images in the /styles/[stylename]/images folder too, as long as the dimensions remain the same. Again, you might want to take backups. 1.3.3 The top frame =================== The very top frame is yours to do with as you wish. In each style's folder you will find a file called "top.html", which you can edit any way you like, put what you want in there, little Flash movies with solar/lunar cycles or big headache inducing adverts for stuff, it's entirely up to you. Just keep it 60 pixels high or under. 1.3.4 Emoticons =============== Beehive Forum uses CSS-styled emoticons. This allows the end-user to have great control, being able to choose from options such as completely invisible, text-only, and the range of graphic sets which can be installed. To create an emoticon pack first add a subdirectory (named whatever you like - for example's sake I'll choose 'mypack') in the /emoticons directory. In this directory create a file definitions.php. This file contains the textual pattern definitions of the emoticons. For example, to add a ':-)' emoticon, one would add the following line: $emoticon[':-)'] = "smile"; Once you have finished adding your pattern definitions you need to create a file desc.txt (which contains one line describing your pack, e.g. "My Pack") and a style.css file. To add your ':-)' emoticon you will need CSS code similar to this: .e_smile { padding-left: 15px; // the width of the emoticon image height: 13px; // the height of the image font-size: 13px; // the height of the image again, for Mozilla background-image: url("./images/smile.gif"); // the image itself background-repeat: no-repeat; } .e_smile span { display: none; } Notice the class name 'e_smile' - this is the word you associated with the ':-)' pattern in definitions.php ("smile") prefixed by 'e_'. Be careful not to use the same associated word for different emoticons (it's fine to use the same word for, for example, both ':)' and ':-)', however). Also note that every .e_NAME class must also have the .e_NAME span { ... } class. 1.3.5 GeSHi =========== Beehive Forum uses several 'custom' HTML tags, including the tag. This tag now accepts a 'language' attribute () which will highlight your code, thanks to the open-source software 'GeSHi' (http://qbnz.com/highlighter/). To include GeSHi syntax highlighting with your Beehive Forum install simply download the latest version of GeSHi (tested with v1.0.6) and upload it to a subdirectory 'geshi' in your main forum folder (if your forum was at www.site.com/forum/, upload to www.site.com/forum/geshi/). To change any GeSHi settings edit the file include/geshi.inc.php. Note: GeSHi is not created by the Beehive Forum developers. 1.3.6 TinyMCE ============= Beehive Forum has a simple HTML toolbar built in, but also allows the use of the open-source WYSIWYG TinyMCE version 2.03 or later by Moxiecode Systems. You can downloaded TinyMCE from http://tinymce.moxiecode.com/ To install TinyMCE in to your Beehive Forum simply copy everything from the tinymce/jscripts/tiny_mce directory into a subdirectory named 'tiny_mce' in your main forum folder. There is a Beehive Forum plugin for TinyMCE which should have already been in your forum's tiny_mce directory, under the subdirectory plugins/beehive. If this is not the case copy the directory tiny_mce/plugins/beehive from a fresh download of Beehive Forum to your forum. Note: TinyMCE is not created by the Beehive Forum developers. 1.4 Upgrading from previous versions of Beehive Forum ==================================================== If you're reading this you're looking for instructions on upgrading your Beehive Forum to the latest and greatest available version. Below you will find instructions pertaining to each individual release. Please read them fully before starting the upgrade process. As with all software installations or upgrades it is highly recommended that you perform a backup of your existing web space and database before upgrading your Beehive Forum. Failure to do so could result in lost data. You have been warned. Don't make us say we told you if things go wrong and you haven't backed up. 1.4.1 Upgrading your Beehive Forum installation ============================================== Beehive Forum's install script should be used to perform any upgrade from 0.4 or newer. Previously .sql scripts were provided but due to the nature of the software these are no longer viable. 1.4.1.1 Make a back up of your database ======================================= You REALLY SHOULD make a back up of your database before you perform the upgrade. We can't stress how important this is. If you don't perform a backup and something goes wrong you'll be up shit creek without a paddle and if things were to get even worse you may find that you loose your boat as well. The easiest way to perform a back up is by using telnet to connect into your server and making a physical copy of the MySQL/Beehive Forum folder. You'll know when you've found the right one when you come across loads of .MYI and .MYD files with the same names as the Beehive Forum tables. If you can do this then great, if not you might want to ask your hosting provider if they can do it for you, at least temporarily while you do the upgrade. Then if anything does go wrong you can ask them to restore the data. If your hosting provider is less than cooperative about doing this then your next best chance of performing a backup is by using phpMyAdmin and making use of it's Export facility to save a copy of the database to your PC using your web browser. Be warned that doing it this way will result in a easily rather large file being created on your HDD so make sure you have adequate disc space in order to do this. It will also be harder to restore the backup this way. 1.4.1.2 Back up your files ========================== The easiest way to back up your Beehive Forum files is to take a copy of the forum directory and it's contents. Restoring this back up incase of upgrade failure is then simply a case of uploading the files and overwriting the changes. 1.4.1.3 Upload new forum files ============================== This step is similar to 1.2.3, though you may wish to upload to a temporary directory (e.g. if your forum is currently installed in a subdirectory 'forum', you may wish to upload the new files to a subdirectory 'forumtemp' so that you can make any neccesary changes before replacing the old files with the newer ones. 1.4.1.4 Run the upgrade script ============================== Once you've backed up your database/files and uploaded the new files, you will need to run the upgrade script, located at install.php in your forum directory: http://www.mysite.com/forumtemp/install.php Make sure you select the correct 'Upgrade' proceedure from the installation method drop-down list, and then follow the instructions. 1.4.2 Skipping a version during upgrade ======================================= Skipping versions during upgrade is unsupported by the Beehive Forum development team. To upgrade from 0.5 to 0.7 (for example) you should first download and upgrade to 0.6 and then upgrade separatly to 0.7. We appreciate that this is long winded and highly inconvienient but it is the only reliable method of upgrading and you should really only have to do it once. 1.4.3 Upgrading from 0.5PR1 to 0.5 ================================== 0.5PR1 is no longer supported by the development team. If you are still running this version of Beehive Forum please upgrade to 0.5 or a later release. 1.4.4 Upgrading from 0.3 to 0.4 =============================== If you are already using 0.3 of Beehive Forum, you will need to update your database. You should first backup by following the steps in 1.4.1. 1.4.4.1 Update the database =========================== Simply run the /docs/update-03-to-04.sql script against the database using phpMyAdmin or MySQL directly. 1.4,4,2 Update the config file ============================== Probably the easiest way to do this is to edit the config.inc.php in the 0.4 download and set the relevant variables again. 1.4.5 Upgrading from 0.2 to 0.3 =============================== Follow the procedures as detailed in steps 1.4.4 but when upgrading the database as in step 1.4.4.1 use the /docs/update-02-to-03.sql script instead of update-03-to-04.sql. 1.4.6 Upgrading from 0.1 / 0.1.1 to 0.2 ======================================= Follow the procedure as detailed in steps 1.4.4 but when upgrading the database as in step 1.4.4.1 use the /docs/update-01-to-02.sql script instead of update-03-to-04.sql. 1.4.7 Upgrading from 0.1 or 0.2 to 0.4 and newer ================================================ No direct route exists for 0.1 or 0.2 to be upgraded to versions of Beehive newer than 0.3. To upgrade either of these versions to the latest release you will first need to run the relevant .sql script files in order and then proceed to use the built in installer script. For example if you are using Beehive Forum 0.1 you will need to run: upgrade-01-to-02.sql followed by.. upgrade-02-to-03.sql followed by.. upgrade-03-to-04.sql. This will bring the database up to 0.4 compatibility, and from there you can use the upgrade script built into the newer releases of Beehive to bring you bang up to date. 2 Known Issues ============== Please see release.txt for issues pertaining to each individual release. 3 Support ========= 3.1 Requests / Bug reporting ============================ All this can be done through the Project page provided by SourceForge. Simply browse to http://sourceforge.net/projects/Beehive Forum and submit requests or bug reports there. Alternatively you can visit http://www.tehforum.co.uk/forum/ where you'll find most of the developers of Beehive Forum hanging out. Feel free to post any questions or queries you have and we'll do our best to answer them. 3.2 General questions and help ============================== As above, you can try dropping in to http://www.tehforum.co.uk/forum/, where you can ask for help or check on the progress of the next version and see and test previews of the new features. If you need help don't think twice about posting, although please keep Beehive-related enquires to the 'Beehive Development' folder. We've also added a wiki to help us document Beehive. Check it out here: http://www.beehiveforum.net/wiki/ Want to contribute to the Wiki? To do so you will need to register a user account on the test forum. Once you have your account you can login using the same logon and password and start contributing. 3.3 Beehive Forums in foreign languages ====================================== Since the release of Beehive Forum 0.4 multiple languages have been supported, but because we're all very busy doing other things the number of languages that actually ship with Beehive Forum are few and far between. We hope to rectify this over time, but in order to do so we require volunteers. If you would like to help translate Beehive Forum into your native tongue please see below. 3.3.1 Translating Beehive Forums into my native language ======================================================= Unfortunately the Beehive Forum coding team consists primarily of born and bred English men who have enough trouble speaking our own tongue as it is. Because of this, we're on the look out for people to start translating Beehive Forum for us. If you feel you have the necessary skills to do this (no babelfish / direct from dictionary translations please) feel free to drop us a note. With any luck your language file may end up being distributed with future versions of Beehive Forums and you may even get to see your name in print, or at the very least bundled here amongst the other credits. 3.3.2 Completed Translations ============================ Current complete translations are as follows: English British English (US) X-Hacker 3.3.3 Incomplete / Partial Translations ======================================= Current incomplete translations also available include: French Canadian German These translations can be obtained from the Beehive Forum Project CVS Repository. For instructions on accessing the CVS Reporistory please see: http://sourceforge.net/cvs/?group_id=50772 4 Credits ========= 4.1 Coding ========== Matt Beale, Andy Black, Chris Hodcroft, Mark Rendle, Rowan Hill, Andrew Holgate, Peter Kelly, Mike Franklin, Ben Sekulowicz 4.2 Website =========== Peter Boughton, Rowan Hill, Matt Beale, Mike Franklin and all you lovely Wiki contributors. 4.3 Design/CSS ============== Kevin Yip, Mike Franklin, Simon Roberts, Matt Beale. 4.4 Graphics ============ Nigel Moore, Kevin Yip, Andrew Holgate, Mike Quigley, Matt Beale, Andy Black. 4.5 Translations ================ French Canadian - Joanne McNair. German - Armin Damm. X-Hacker - Matt Beale. 4.6 Official Beehive Forum Pimp ============================== Mike Quigley 4.7 Bug finders extraordinaire ============================== Ken Kauffman, Speakez. 4.6 Other Contributions ======================= Frnht451, Michael @ Hermitscave 4.7 Project Lead ================ Matt Beale 4.7 Special Thanks ================== - The Teh Forumers for testing, moral support, saying nice things and just generally being teh cool. - Michael from Hermitscave for taking the time to find all those nasty exploits. - JimL for beating Mike in our being obsessed with Beehive Forum competition. - SourceForge (http://sourceforge.net) for providing top-notch facilities to us (and to thousands of other projects) at absolutely no cost. 4.7.1 Matt would like to thank: =============================== - Mike Franklin, Pete Kelly, Jon Cooper and Yvonne for just being who you are. FIN