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.

Comments:JAMWiki 0.3.1


JAMWiki 0.3.1

Archived from the Feedback page:

Release plans

Some of the following issues may make it into JAMWiki 0.3.1, and others will slip to a later release:

  • Roadmap#Configurable Signatures.
  • Roadmap#Page Move/Redirect.
    • Special:Move. Implemented for beta1.
    • Support for "#REDIRECT [[Topic]]" syntax. Implemented for beta1.
    • Allow moving a topic to a previously deleted topic. Implemented for beta2.
    • Allow moving a topic back to its original location (revert a page move).
    • Allow moving a topic and comments page at the same time. Implemented for beta3.
    • "Link to" for redirects does not show final link destination. Update: this functionality isn't hard to add but has performance implications, so will probably slip to another release.
    • Underscores in the redirect name not escaped. Should be fixed now, will be in beta2. This might possibly break some other links (not well tested), so beware.
    • Remove admin-only restriction on page moves (make this a configurable option). Property added, all users allowed to move topics by default. Will be in beta2.
  • Bug Reports#Internal link with query string Should hopefully be fixed now.
  • Bug Reports#Character problem - Non ISO-8859-1 characters are somehow getting used in a URL. Hopefully fixed for beta3, feedback requested.
  • Roadmap#Translation File History. Update: partially implemented. Versions are saved, which might be sufficient, although file uploads do not cause new versions to appear.
  • Allow inter-wiki links such as [[:Wikipedia:Main Page]]. Infrastructure is in place for this, I just need to take an hour to look at it.
  • Look into Colin's issue with a shared JDBC jar file not being found.
  • Remove remaining usage of Utilities.getMessage(). Most are gone, the remaining ones may not be a problem.
  • Add a "User contributions" link from user pages.
  • Handle files by MIME type to determine when to use the <img> tag and when to use the <a> tag. MIME type not used, but this should still work now - see Image:ApplicationResources vs Image:baby elephant.jpg.
  • The [[Image]] tag also needs to use an <a> tag for non-images. Should be fixed - ApplicationResources
  • Address case sensitivity issues for topic names and user names. Update: constraint added to the database to ensure user logins are unique in a case-insensitive way.
  • Add validation to files, database settings, and other values updated through Special:Admin.
  • Display warning when uploading an image and an image of the same name already exists.
  • Provide a way to delete image files.
  • Uploading a second version of an image should display a record on the Special:RecentChanges page. Will be included in beta3.
  • Add a jamwiki:linkParam tag for use with jamwiki:link. Fixed in the Subversion repository, will be running on shortly.
  • Fix issue with extra "/" in file history URLs. Should be fixed.
  • Move WikiMessage and WikiException to the org.jamwiki package. Done, will be in beta2.
  • Do not display the delete tag for users who cannot delete, or for new topics.
  • After editing a section, page should load to that section.
  • Add support for the Mediawiki <gallery> tag.
  • Topics with names like "Topic/Archive" are currently not allowed, but Mediawiki supports names of this format.
  • <pre> tags might not be automatically closed (reported by axelclk). Should be OK now (preprocessor updated).
  • Text in <pre> tags might not be HTML escaped (reported by axelclk). Apostrophes (') now being escaped, for various reasons ampersands are not escaped.
  • When editing a section of a topic, if there is a conflict the "section" attribute should be dropped during the edit resolution process. Should be fixed now, will be included in beta2.


The first batch of JAMWiki 0.3.1 code is now available:

The big change is support for moving pages, and support for the Mediawiki "#REDIRECT [[Topic]]" syntax. The new code is running on, but I've made the "Move" tab functionality admin-only to prevent the curious from accidentally messing up the site. Once a few more bugs are worked out and I add the capability to move a page back to its original location I'll open that functionality up to everyone. Note that the beta will automatically upgrade the jam_topic table to add a new "redirect_to" column - to disable automatic upgrades please change the wiki-version property in to "0.3.1". Note that this beta is not well-tested, so feedback is appreciated. -- Ryan 24-Aug-2006 12:50 PDT


I've had some trouble coming up with a way that functionality could be added to allow deleting a topic and then moving a new topic into its place (for example, if a vandal moves a page, edits it, and someone wants to move the old page back). The problem is that the database requires that topic names be unique, but deleted topics are not removed from the database (to allow for undelete), they are simply marked with a flag. Unless anyone objects I think the solution is to change the "topic_deleted" column to "date_deleted" and then make the unique key be (topic_name, date_deleted) instead of just (topic_name). That way topic names for topics that aren't deleted would have to be unique, but deleted topics with the same name could still exist. If anyone has any grave concerns with that approach let me know, otherwise I'll start work on it soon. -- Ryan 25-Aug-2006 14:55 PDT

This is done in the Subversion repository, beta two will probably go out tomorrow or Sunday. -- Ryan 25-Aug-2006 19:53 PDT
Hungarian translation updated --bDaneE 26-Aug-2006 06:18 PDT
Germn translation updated -- Axel Kramer
Thanks! Both updated in the source code repository. I'll restart the server shortly, so you should see them on the site. -- Ryan 26-Aug-2006 10:19 PDT

There's still more work to do, but here's a second beta for anyone who wants it:

Anyone who installed beta1 will need to manually update their database by doing the following:

alter table jam_topic add column delete_date TIMESTAMP;
alter table jam_topic drop constraint jam_unique_topic_name_vwiki;
alter table jam_topic add constraint jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id, delete_date);
update jam_topic set delete_date = CURRENT_TIMESTAMP where topic_deleted = '1';
alter table jam_topic drop column topic_deleted;
alter table jam_file add column delete_date TIMESTAMP;
update jam_file set delete_date = CURRENT_TIMESTAMP where file_deleted = '1';
alter table jam_file drop column file_deleted;

If you don't have beta1 installed then the normal upgrade process will automatically handle everything.

I'm going to be out of town several days over the next two weeks, so the plan right now is to try to make any further changes for 0.3.1 today and tomorrow, and to then start testing and get 0.3.1 final out on either Monday or early Tuesday. I'll be around to fix any bugs that show up on Tuesday, will be out of town Wednesday and Thursday, and will be back again on Friday before taking off from Friday until late the following week. For anyone interested in helping with testing or translating, beta3 should be out tomorrow evening, and it should be fairly close to the final release. -- Ryan 26-Aug-2006 12:39 PDT


As promised, it's Sunday night so I'm going to freeze the feature set for JAMWiki 0.3.1 and concentrate on bug fixing, cleanups and testing now. Beta 3 should be relatively close to the final release and can be downloaded below:

If you are running JAMWiki 0.3.0 all required upgrades should be automatically performed. If you are running JAMWiki 0.3.1 beta2 you will need to do the following:

alter table jam_wiki_user drop constraint jam_unique_wiki_user_login;
CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (lower(login));

There are a lot of changes in this release - please see the CHANGELOG for a reasonably complete list, and as always let me know if you have any feedback or bug reports. Please note that this release is totally untested in file persistency mode, and I've not yet done any tests with anything other than an existing Postgres database. -- Ryan 27-Aug-2006 21:09 PDT

JAMWiki 0.3.1 Final Plans

After fixing some bugs in beta 3 with MySQL (whose idea was it that null timestamps should be automatically converted to the current date?!?!?!) I haven't really found any other serious issues, so I'd like to try to get a final 0.3.1 release out later tonight. If anyone finds any non-MySQL bugs in the latest beta, or if you want to contribute a last-minute translation, try to let me know in the next few hours so that I can take care of it. In the mean time I'll continue testing to see if any other problems turn up. -- Ryan 28-Aug-2006 15:11 PDT

There were some additional problems with delete/undelete, but otherwise things seemed OK so I've released JAMWiki 0.3.1 final. Downloads of the WAR file and a source file are are available from Sourceforge. -- Ryan 28-Aug-2006 18:45 PDT

PDF Images

Archived from the Feedback page:

Question: Is one able to serve up pdf images via wiki page. I have uploaded a pdf file and created image link (same way as works for png file) but doesn't work. I have also tried [:Image:filename] to create a link. Any suggestions? CB

Just to be clear - when you say "PDF image", do you mean you want an image to display with HTML generated as <img src="foo.pdf" />, or do you just want a download link for a PDF file to appear? If it's the former, can you give me an example of someone doing something similar that I could look at? And if it's the latter, I haven't yet figured out how best to handle things like PDF files, Word documents, etc, and any ideas would be welcome. As far as I know Mediawiki doesn't support these sorts of documents, so we're on our own to come up with something. Would something like a [[File]] tag that created a download link work? -- Ryan 10-Aug-2006 09:40 PDT

>Would love to have it embedded but doubt this is possible. Standard way would be to provide a link that browser could then open in appropriate application. I thought the [[:Image:filename.pdf]] tag would create a link that browser could pick up.[[File]] tag would be good idea to. I imageine streaming file back (to new target window) with correct mime type should be sufficient for browser to do rest.CB

Sounds reasonable. I'll add something to the Roadmap. -- Ryan 10-Aug-2006 20:40 PDT

This should be addressed for JAMWiki 0.3.1 beta3 - see ApplicationResources as an example. In the interest of keeping compatibility with MediaWiki I decided against introducing a "File" tag, even though "Image" is a terrible tag name for a non-image file. Any improvement suggestions are welcome. -- Ryan 27-Aug-2006 17:16 PDT


Archived from the Feedback page:

I just wanted to update the Hungarian translation, but i get this error message (in english):

System error
A system error has occurred. The error message is:
/ (Permission denied).

Please check out what is the problem (version 2.0 worked fine). --bDaneE 16-Aug-2006 08:26 PDT

Sorry, when I released the new code last night I didn't update the filesystem permissions. It should work now. -- Ryan 16-Aug-2006 09:57 PDT
Done--bDaneE 16-Aug-2006 10:34 PDT
Thanks, I've updated the file in the source code repository and restarted the server on so that you should now see the proper translations. Sorry again about the permission problem. -- Ryan 16-Aug-2006 10:42 PDT

Hi I'm interested in a german translation of JAMWiki. I'm also the programmer of some Wikipedia tools in Java which maybe useful for the further development of JAMWiki:

-- Axel Kramer

Hi Axel - I'm on my way out of the door right now, but I'll definitely take a look at your tools later tonight. As to a German translation, if you're willing to do the legwork simply download the latest source code ( or get it from Sourceforge) and take a look at the /WEB-INF/classes/ file. Most of the labels in that file are default English (sorry, I only speak about five words of German!) but once those are translated I can add it to the source repository and the software should then be fully German-enabled. Alternatively, if you'd like I can add your account to the admin list, in which case you can access the Special:Translation tool and then make updates directly on
Thanks for the interest, and definitely let me know if you have any additional feedback! -- Ryan 19-Aug-2006 12:25 PDT
I'm interested to work with the Special:Translation tool. -- Axel Kramer
I'm heading to bed shortly, but you should now be able to access Special:Translation. Simply choose "de" from the drop-down and make whatever changes are necessary - don't forget to click "Save" when you are done! Unfortunately a server restart is required before the changes will appear on the site, and you should also leave a note on the site when you change things so that I can copy the files to the source repository and don't accidentally overwrite any work you've done. A future version of JAMWiki will include version history for translation files, but I haven't gotten around to that yet.
German translation should be up-to-date now -- Axel Kramer
Great! I've updated the source repository and will restart the app in a sec so that you should see the changes on I've added you to the credits file as "Axel Kramer (axelclk)", but let me know if you'd prefer something different. -- Ryan 23-Aug-2006 15:05 PDT
Also note that currently translators have access to all admin functions, so be careful what buttons you click ;) I'll update that in the future so that there is a "translator" role, but for now the roles are set up as "regular user" or "admin", so there's no granularity in between. Thanks for the offer to help out! -- Ryan 20-Aug-2006 02:45 PDT
Hi Axel - while doing some debugging I discovered that you had updated some of the German translations, so I've added you to the CREDITS file - thanks! If you use the Special:Translation tool in the future please also add a note on this page indicating that translations have been updated, since otherwise I might not notice and might accidentally overwrite your changes, which would be a bad thing! Hopefully JAMWiki 0.3.1 will automatically version the translation files when changes are made, but for now it's a manual process. Thanks for the contributions! -- Ryan 23-Aug-2006 12:26 PDT
Just took a look at your tools - from a quick read it looks like they are offline Wiki editing tools? Let me know if that's right, and if you're interested in getting JAMWiki to support these tools I'd be happy to work with you. At the moment the JAMWiki APIs are still changing fairly frequently so I haven't made a plugin architecture a high priority, but it looks like the integration for your tools is fairly high-level, so it may be possible to get JAMWiki to work with them relatively painlessly. In any case, let me know if there is anything I can do, and if you're interested in working on it yourself I'd be happy to give you a branch in Subversion. Thanks for the interest! -- Ryan 19-Aug-2006 23:01 PDT
I think I first have to explore the JAMWiki architecture and sources. I'm interested in having a more sophisticated client-side wiki editor based on the Google Web Toolkit. -- Axel Kramer
Sounds good - let me know if you have any questions or if I can help out. I'm heading to bed now but will check the site again in the morning. -- Ryan 20-Aug-2006 02:45 PDT

Hi .. I've done a danish translation based in the language files in svn (28-Aug-2006), can I upload the file to have it included ?

Yeah, that would be great! You can either upload it here or email it to me. Two requests: first, just to verify, you're OK with this being licensed under the LGPL, right? (I have to ask!) Second, what name should I use to credit you in the credits file? Most people seem to prefer their real name followed by their login here such as "Ryan Holliday (wrh2)", but it can be anything you like. Thanks again! -- Ryan 27-Aug-2006 12:38 PDT
Hmm, got an error uploading so I send it by email :-) LGPL is fine by me, as for credits you can put me down as Anders Monrad (g9adm).
I'll get the upload error fixed for the next release - sorry about that! The file is now in the Subversion repository, and I've added you to the CREDITS.txt. Thanks! -- Ryan 27-Aug-2006 12:57 PDT
The translation is now on as well, so you should see Danish on the site - let me know if there are any problems! -- Ryan 27-Aug-2006 13:03 PDT
Cool :-) Anders

jam_file Unique Key

Did you intend to update the jam_file table's unique key constraint (jam_unique_file_topic_vwiki) to include delete_date, the way you did with jam_topic? -- scroco 29-Aug-2006 15:12 PDT

I don't think it's needed, although I could be wrong. The current unique constraints are the following:
CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id, delete_date)
CONSTRAINT jam_unique_file_topic_vwiki UNIQUE (virtual_wiki_id, topic_id)
CONSTRAINT jam_unique_file_url UNIQUE (file_url)
topic_id is always unique, and there can be only one jam_file associated with a topic (hence the jam_unique_file_topic_vwiki constraint, which probably isn't even needed...). topic_name must also be unique for non-deleted files. Since there can be only one file per topic I don't think any additional constraint is needed on jam_file. Let me know if I've overlooked something. -- Ryan 29-Aug-2006 15:22 PDT