This forum was created due to a number of pressing problems we saw in available open-source Java based (Servlet/JSP) Forum Engines.
- Using the database for everything, including searching and indexing
- No free forum that allows sub-forums to any depth
- No free ones having all the capabilities we wanted in one package, especially:
We directly leverage a bunch of open-source products:
- Apache Lucene - [http://jakarta.apache.org/lucene] (for indexing and searching)
- FreeMarker - [http://freemarker.org/] (for [templates|/oxywiki/p/view/help/Templates] we evaluate at runtime)
- Apache Commons (logging, fileupload) - [http://jakarta.apache.org/commons]
- EhCache - [http://ehcache.sourceforge.net/]
- Hibernate - [http://www.hibernate.org]
This repository is part of a multi-project gradle
build.
It has the following dependencies:
Before building:
- clone the dependencies into adjacent folders directly under same parent folder
- download
settings.gradle
into the parent folder
gradle clean
gradle build
gradle appRunWar
To start, you must have access to a database.
You can have your admin create a database instance using the commands below:
CREATE USER 'collab'@'localhost' IDENTIFIED BY 'pw4collab';
CREATE DATABASE collab;
GRANT ALL ON collab.* TO 'collab'@'localhost';
Thereafter, you can login to use it locally using
/usr/local/mysql/bin/mysql -u collab -ppw4collab collab
Once in, you can do the following:
source src/main/resources/net.ugorji.oxygen/forum/database/mysql.sql
The user manual is available at src/main/resources/net.ugorji.oxygen/forum/help.txt. We store it there since it has to be loaded up by the forum engine to show bundled help.
- Mandatory
- oxy-jdk-extensions.jar
- oxy-common.jar
- oxy-markup.jar
- oxy-forum-classes.jar
- oxy-forum-resources.jar
- commons-logging.jar,
- commons-fileupload.jar, (1.1 has a bad bug, causing all filenames to be lowercase)
- commons-io.jar
- lucene-core.jar,
- freemarker.jar,
- org.suigeneris.jrcs.diff.jar
- jpa.jar
- jta.jar
- Mandatory (required if using hibernate)
- hibernate.jar
- hibernate-annotations.jar
- hibernate-entitymanager.jar
- hibernate-commons-annotations.jar
- jboss-archive-browsing.jar
- antlr.jar
- javassist.jar
- dom4j.jar
- ehcache.jar
- Mandatory (required if using openjpa)
- openjpa.jar
- commons-lang.jar
- jca.jar
- serp.jar
- Optional
- ehcache.jar (if using ehcache as markup caching provider.)
- radeox_base.jar (only if leveraging radeox macros)
- bsf.jar (only if using the script macro - some people disable this for security reasons)
- bsh.jar (only if using the script macro - and leveraging beanshell as your scripting engine)
- jhlabs-imaging.jar (only if using captcha, to prevent spam, and ensure humans post entries to the forum)
- rome.jar (only if using rss macro)
- jdom.jar (only if using rss macro - rss macro uses rome.jar which internally uses jdom.jar)
In the forum, there is only one big sandbox. Consequently, a locale must only be set administratively, and applies to the whole forum. The locale set is the same one which is used as the language for creating topics and posts.