Active development of JAMWiki has ceased, and bug fixes and support will be limited at best. If you are interested in taking over management of JAMWiki please send an email to the jamwiki-devel mailing list.

JAMWiki 0.0.6

Release Notes

IMPORTANT: While reasonably stable, the JAMWiki code is undergoing rapid development and should be considered beta software, not suitable for deployment on production systems. Also note that this version changes the database schema used in previous versions - see below for upgrade instructions.

JAMWiki 0.0.6 is now available for download as a WAR file suitable for deployment on a web application server. This release includes major work to support file uploads and image display, along with numerous code cleanups and bug fixes. See the changelog for a more complete list of changes and fixes.

To install the file simply deploy it like any other WAR file, restart the web application server, and then view the URL to begin the configuration process (context is the web application context root).

See the README.txt and CHANGELOG.txt files for additional details about this release. Additional information and documentation can be found at


  • FEATURE: Add support for uploading files and viewing them as images.
  • FEATURE: Update the look & feel of the edit preview display.
  • BUG: Shrink generated JSP class files by using <jsp:include>. Resolves issues with Resin app server (reported by Alexi).
  • BUG: Resolve issue of HTML characters being incorrectly escaped during edits.
  • BUG: Only show the edit preview when the preview button is clicked.
  • FEATURE: Hide the non-working Javascript edit buttons.
  • BUG: Resolve more "fails to redirect after login" issues.
  • FEATURE: Upgrade to commons-fileupload-1.1.1.jar.
  • FEATURE: Add commons-io-1.2.jar.
  • BUG: Add commons-logging-1.1.jar which is required by Spring. Reported by Alexi.
  • BUG: Update cache headers to resolve issues with Opera. Reported with a suggested fix by Alexi.
  • BUG: Author IP address not being retrieved in file persistency mode.
  • FEATURE: Support Mediawiki image links ([[:Image:Foo]]).
  • FEATURE: Display image file history for image pages.
  • BUG: Remove several hard-coded message strings, replace with messages that can be translated into local languages.
  • BUG: Fix file persistency to database persistency conversion. Required removal of database sequences.
  • FEATURE: Hide panic and email notification options in admin - not currently supported.
  • FEATURE: Remove RSS link from the nav bar - not currently supported.
  • FEATURE: Update database schema - BREAKS ANY EXISTING INSTALLATION! See the release notes for the database update syntax.
  • FEATURE: Code cleanups including removal of unused files.

Upgrade Instructions

To upgrade from JAMWiki 0.0.5, run the following SQL commands to update the database:

CREATE TABLE jam_file ( 
  file_id INTEGER NOT NULL, 
  virtual_wiki_id INTEGER NOT NULL, 
  file_name VARCHAR(200) NOT NULL, 
  file_deleted CHAR DEFAULT '0' NOT NULL, 
  file_read_only CHAR DEFAULT '0' NOT NULL, 
  file_admin_only CHAR DEFAULT '0' NOT NULL, 
  file_url VARCHAR(200) NOT NULL, 
  mime_type VARCHAR(100) NOT NULL, 
  topic_id INTEGER NOT NULL, 
  file_size INTEGER NOT NULL, 
  CONSTRAINT jam_pk_file PRIMARY KEY (file_id), 
  CONSTRAINT jam_fk_file_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), 
  CONSTRAINT jam_fk_file_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), 
  CONSTRAINT jam_unique_file_url UNIQUE (file_url),
  CONSTRAINT jam_unique_file_topic_vwiki UNIQUE (virtual_wiki_id, topic_id)

CREATE TABLE jam_file_version ( 
  file_version_id INTEGER NOT NULL, 
  file_id INTEGER NOT NULL, 
  upload_comment VARCHAR(200), 
  file_url VARCHAR(200) NOT NULL, 
  wiki_user_id INTEGER, 
  wiki_user_ip_address VARCHAR(15) NOT NULL, 
  mime_type VARCHAR(100) NOT NULL, 
  file_size INTEGER NOT NULL, 
  CONSTRAINT jam_pk_file_ver PRIMARY KEY (file_version_id), 
  CONSTRAINT jam_fk_file_ver_file FOREIGN KEY (file_id) REFERENCES jam_file(file_id), 
  CONSTRAINT jam_fk_file_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), 
  CONSTRAINT jam_unique_file_ver_url UNIQUE (file_url) 

CREATE TABLE jam_image ( 
  file_version_id INTEGER NOT NULL, 
  CONSTRAINT jam_pk_image PRIMARY KEY (file_version_id), 
  CONSTRAINT jam_fk_image_file_ver FOREIGN KEY (file_version_id) REFERENCES jam_file_version(file_version_id) 

DROP SEQUENCE jam_virtual_wiki_seq;

DROP SEQUENCE jam_wiki_user_seq;

DROP SEQUENCE jam_topic_seq;

DROP SEQUENCE jam_topic_version_seq;

DROP SEQUENCE jam_notification_seq;

DROP SEQUENCE jam_recent_change_seq;

Add the following values to the StyleSheet:

/* topic pages */

#content-article {
	padding: 10px 0px 10px 0px;

/* images */

img.wikiimg {
	border: 0px;

a.wikiimg {
	text-decoration: none;
	color: inherit;
	font-weight: inherit;

div.imgcaption {
	padding: 0.3em 0em 0.2em 0em;
	text-align: left;

div.imgleft {
	border: 1px solid #bbbbbb;
	float: left;
	padding: 0.3em;
	margin: 0.3em 0.3em 0.3em 0em;

div.imgright {
	float: right;
	border: 1px solid #bbbbbb;
	padding: 0.3em;
	margin: 0.3em 0em 0.3em 0.3em;

div.imgthumb {
	float: right;
	border: 1px solid #bbbbbb;
	padding: 0.3em;
	margin: 0.3em 0em 0.3em 0.3em;

From the admin screen, verify that all of the "File upload settings" properties are set to valid values.