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.

User comments:wrh2


Next steps

Hello Ryan

I have been a bit busy recently. I should find some time in the next weeks, probably in September, to take up another task. I was thinking of reactivating the email support. This seems to be a hot topic and there seem to be already quite some work done. About one year ago I integrated a mailing service in some small applications on my server at home. There was no need to set up a mail server. I used the mail server of my internet provider ( with authenticated smtp request. It works fine. If I start with the task I will post a note on Tech:Email.

Bye -- Charles 23.08.2012 15:14 CEST

I've been totally swamped with [1] during the past month and have gotten very little JAMWiki development done. Originally I had sent an email to the jamwiki-dev mailing list proposing the end of August as the feature freeze date, but that may need to be extended one month since things have been moving slowly. I agree that email would be a great addition and was actually considering working on it next week (I have a week off from work), but it would be great if we could collaborate. Tech:Email was started a long time ago, but it was never fully reviewed and never implemented so it needs work. However, it would be a useful starting point. -- Ryan • (comments) • 23-Aug-2012 08:07 PDT

OK. Most of next week I will be away in a course on IP security and probably won't be able to make any contribution to the project. What I have so far is the class (MailDispatcher.txt) that we used in another project for sending mails. It's quite flexible, but needs some refactoring (package name, properties source and logging). The list of properties in the javadoc is quite self explanatory. Have a look at it and if you find it usable then we could replace the current mail sending method. Since I will not be working yet on the mail integration next week, I will wait and see your progress. Once there is a mailing method the next step would be to add the calls to it where necessary. According to the UCs for User identification (registration) and for Password resetting (login). I think that the first usage should be configurable. I can imagine that not all wiki operators want to force their registering user to respond to a mail challenge.

For coordinating activities it would be best to keep in touch on this channel (or Tech:Email). So I will keep an eye on what happens and get back to you when I can really make some coding. Is that ok for you?

Enjoy -- Charles 26.08.2012 18:11 CEST

Thanks, I'll look at that class (it's available to use under the LGPL, right?). The email code that is currently in org.jamwiki.mail package pre-dates the JAMWiki project (it was part of Very Quick Wiki, before the fork) and has never been used in JAMWiki - it's the only obsolete piece of the old wiki code that I didn't delete, but I don't know how good it is or if it even works, so replacing it with something that is known to work seems fine.
As to collaboration, moving discussions to Tech:Email would probably be better since anyone else interested in email is more likely to find that page than this discussion. Good luck with your training - I've sat through some security training in the past that was less-than-exciting, so hopefully this one goes a bit better! -- Ryan • (comments) • 26-Aug-2012 23:40 PDT

I wrote the class as part of a service in a project of the company I work for. The content does not show any company specific details, i.e. with a bit of the refactoring I mentioned it is no issue to use it. Besides I think that such mail sending classes have been written already many times and there are really no secrets in there :-) -- Charles 27.08.2012 08:31 CEST

Unfortunately I have to report an unexpected delay due to some major changes happening in my environment (I had the intention to start about two weeks ago). I hope to be able to make a JAMWiki mail class based on the one I sent you, soon and start integrating it into the login (reset password) and registration code (challenge mail adress) as optional features.

BTW. Althought it seems to be a major change I think that this could even be added as a minor change. It does not really affect the normal operation of JAMWiki. So it could also be possible to release 1.3.0 before finishing this task. Althought it would sound very good to have it :-) -- Charles 18.09.2012 10:11 CEST

I've also been completely sidetracked by real-world events [2] and haven't had much time to do JAMWiki work. At this point, in the interest of getting 1.3 completed it probably makes sense to try to have any new features implemented and tested by 01-October so that a beta version can be released, and anything that doesn't make that date could then wait for the next release cycle. Hopefully that's OK with you - I'd love to make 1.3. a more substantial release, but at the same time I don't want the release cycle to drag on for too much longer than six months. -- Ryan • (comments) • 18-Sep-2012 07:22 PDT


Hi Ryan I added a Geronimo 1.1 Configuration section to the Web Application Server Configuration section on the Installation page.
Feel free to move it away if it is cluttering the page. If you decide its apropriate do spellcheck it, it most certanly have spelling errors ;).
-- Peter Mon Aug 7 00:40:43 CEST 2006

Thanks! Contributions are always appreciated - looks good to me! -- Ryan 06-Aug-2006 22:40 PDT

Ordered Hashes

Hi, I noticed in PersistencyHandler.lookupWikiLoginName, you have a FIXME for the type of hash being used. I think what you want is java.util.LinkedHashMap, using it's constructor which orders items in the order they were last accessed, so that you can drop the least access ones off the list. Be careful with synchronization if you use it. -- scroco 11-Aug-2006 10:29 PDT

Thanks - that should work extremely nicely for a couple of items that are being kept cached. I should probably re-acquaint myself with the latest info on concurrency and webapps, but I recall that at some point in the past, provided you didn't start any threads of your own, that webapps were single-threaded and synchronization on a single server shouldn't be an issue. The SearchRefreshThread was the last of the old Very Quick Wiki threads, and it will be gone for JAMWiki 0.2.0, so hopefully threading and synchronization issues shouldn't be a concern for non-shared resources. Hopefully. -- Ryan 11-Aug-2006 11:05 PDT
I've added an org.jamwiki.utils.WikiCacheMap class that extends LinkedHashMap and provides a way of caching MAX_NUM values in memory to improve performance. Thanks for the pointer! -- Ryan 11-Aug-2006 12:58 PDT

Italicized titles

Take a look at these 2 pages:

Notice how the wookieepedia version has italicized the title at the top of the page. Do you know how that's working? It looks like maybe a css trick? -- scroco 19-Sep-2006 11:42 PDT

The CSS in that page is insanely complex! I would guess that the italics is probably coming from the "title-override" bit that comes later in the page source. That's just a guess though - between the Javascript, the multiple stylesheets, etc, I would be very, very afraid of saying with any certainty what is going on in that page. -- Ryan 19-Sep-2006 12:15 PDT


G'day Ryan, nice work. However I don't really have a need for the whole project but what I would like is the wikitext parser you have. I suspect there may be many others who would love be able to use MediaWiki wikitext syntax in their Java projects and it seems that you may have a pretty mature parser here. Only problem is that it's embedded in your project. I haven't had a look yet at how difficult it might be to extract it but I thought you might be interested in the suggestion to offer it as a separate download. -- Rod

btw: Wikitext2HTML is what I'm after, I don't need some kind of interface to the structure or anything, just HTML output from wikitext input.
That might actually be a good exercise to undertake in terms of cleaning up the parser interface. I'm not sure what exactly would be involved, but I'll add it to the Roadmap as something to look into in the near future. Thanks for the suggestion! -- Ryan 23-Oct-2006 19:05 PDT

Hungarian topics

The page works OK, the characters (á, é, í etc) appear correctly. There will be an another-language version of the current StartingPoints (so for example Hungarian visitors would get informations about the project in Hungarian)?--bDaneE 08-Nov-2006 22:05 PST

The LeftMenu, StartingPoints and BottomArea topics are used when JAMWiki is installed, so someone doing a new installation will have the translated topics installed. For example, since is installed in English the English pages are used, but if you install your own Wiki it would be installed in Hungarian. Once the Wiki is installed there are no further translations done. However, the SpecialPages topic is used to generate Special:Specialpages, so that page DOES affect existing installations. I should probably write this information up, but was waiting for additional feedback before doing so. -- Ryan 08-Nov-2006 22:25 PST

You misunderstand me. I thought of the Hungarian version of's StartingPoints. --bDaneE 12-Nov-2006 02:46 PST

No, the translated versions of's StartingPoints topic won't appear on since was set up as English. Only new installations of JAMWiki will use the default pages, and they will only be used during setup. For example:
  1. Install a new instance of JAMWiki in Hungarian.
  2. ALL visitors to the StartingPoints page of that installation will see the Hungarian page.
Eventually different versions of could probably be set up for different languages, but at the moment it's hard enough to keep just the English version up-to-date so it is probably best to wait a while before starting new language versions. Hopefully that's clearer - please let me know if you still have questions, or if you have any suggestions. -- Ryan 12-Nov-2006 08:18 PST

Check in

Hi Ryan, I've been out of the loop for a while here. Have I missed anything good? I see there have been a couple releases so far this year.

Hey Scott - I'm working full time again, so the release schedule has slowed considerably. You had asked a long while ago about implementing a spam filter, and a simple spam blacklist went in with 0.5.1. A brief overview is on Comments:JAMWiki 0.5.1#Filtering and Tech:Spam Filter - any feedback you've got would be great. 0.5.2 will be out soon, and it will include the ability to use a whitelist/blacklist to restrict the types of files that can be uploaded to the wiki. I'm not sure exactly when you dropped out, so the Category:Release Notes are probably the easiest way to catch up. Good to see you back! -- Ryan 27-Feb-2007 18:34 PST


I would like to merge the Maven branch into trunk. However it would be nice if you are online at the same time. Preferably via jabber/skype in case anything goes wrong and furthermore I could help if you need any help with your IDE or system afterwards. Mike 18-Jul-2007 11:02 PDT

I'm online at work all day, but I won't be able to help out with any issues during work hours. I usually get home around 7PM PST. That said, there aren't a lot of people building off of trunk right now, so feel free to merge whatever you need to and I'll review things as I get a chance. If there are any serious issues we can always just revert and try again. -- Ryan 18-Jul-2007 12:05 PDT

Hi, you have added this "mvn install:install-file"command in Building from Source. Did you experience problems? Because Maven should find bliki in any case in the /repository directory. You have updated from trunk and still got this problem? Mike 21-Jul-2007 18:00 PDT

Sorry, I have found the source. The line in /pom.xml <url>file:///${basedir}/repository</url> is evaluated in /jamwiki/pom.xml to ../jamwiki/repository. But it's in /repository and I cannot define an absolute path in /pom.xml (obviously). I have moved /repository to /jamwiki/repository and the definition of this repository to /jamwiki/pom.xml. I thought it would be nice to have a global repository in general, but it looks like that it isn't that easy. Everytime I check if it is working an already installed jar does hide an error. :-( Mike 21-Jul-2007 18:18 PDT

I would like to avoid the manual installation of libraries and keep it simple and smart if possible. Mike 21-Jul-2007 18:25 PDT

Agreed, I didn't have time to investigate further why bliki was requiring manual installation, so I'm glad you were able to fix the problem. I'll update the Building from Source page to remove the install line. -- Ryan 21-Jul-2007 19:37 PDT

comments of revision 1616

Use WikiLink & LinkUtil to determine namespace & page name - this avoids having multiple methods to do the same thing. -- User:wrh2

sure, I didn't know of these methods. Thanks for your code review. Régis Décamps

Add isUserPage method since Mediawiki shows contributions link on the user page and the user comments page.-- User:wrh2

I understand Special is a ... special name, hence the isSpecial method, and I didn't want to create the equivalent for users. But you've got a good functional point. Régis Décamps

Remove @author tags for now - we can discuss this if desired, but on a project with many contributors I don't think it's going to be easy to keep @author accurate, and especially not at the method level. -- User:wrh2

Oops, that's my Eclipse template... No problem removing it. Svn tracks everythin already.

Have a good day Régis Décamps

Thanks for making the change. There's a lot of code in the JAMWiki code base, and it's not always well organized (it's better than a lot of projects though!) so I definitely wouldn't expect everyone to know about every method. Longer term see Tech:Page Toolbox, which may be an easier way of handling this sort of functionality. -- Ryan 26-Jul-2007 08:53 PDT

Release 0.6 and email support

After the release of 0.6 I would like to merge the email support into trunk. Please let me know if it is okay for you now. Mike 04-Sep-2007 02:02 PDT

Sounds good to me. I don't have a mail server set up to test with, so hopefully it's OK if I send any bug reports in your direction? -- Ryan 04-Sep-2007 08:53 PDT

hi ryan

--edvjar 18-Oct-2007 16:30 PDT hi when i upload a .wmv the jamwiki open this file in a html, how resolve this problem Ryan

If I click on Image:fly 6ssomvlj.wmv then it opens in Windows Media player. If it's not doing that on your server look into updating your web server's MIME types - see for some details. Hope that helps! -- Ryan 18-Oct-2007 20:37 PDT
eit Ryan i need some documentation , diagram classes , you have some documentation tx --EDVJAR 14-Dec-2007 11:40 PST
Hi edvjar - developer documentation can be found under Category:Developer Documentation, and the Javadoc is linked from the left nav. Hope that helps. -- Ryan 14-Dec-2007 18:48 PST
ok tx --EDVJAR 19-Dec-2007 10:54 PST

Remote backup

With the untimely passing of my friend, I stand in a quite a predicament regarding our wiki. Specifically, because the Wiki is hosted on his server, and I don't have the password (no one does). Currently the server is still up and running (and locked), but when it inevitably goes down, we're going to be in a world of trouble. I have FTP access to the root JAMWiki folder, so I've been able to backup all uploaded images, scripts, logs, etc. However, unless I am mistaken, backing up that folder does not back up the actual content of the Wiki. Quite frankly, since I didn't set up the Wiki myself, I don't even know where the pages are physically stored on his server, but I'm assuming it's in some database that resides outside the folder I have FTP access to.

So here's my question: sitting in my position, with nothing more than FTP access to the root JAMWiki install, how can I backup the content of my Wiki and migrate it to my server? Is it possible? --Ean 16-Feb-2008 10:26 PST

It's doable. For security reasons I'd rather not publish the exact steps here, but send me an email and I can tell you what might work. -- Ryan 16-Feb-2008 12:02 PST

Disable Acegi Security !!!

my problem is this: I want to remove the acegi security, and replace with my own class, but I do not see where remove it, only i need change the way to enter at the jamwiki, my class work fine with ldap so i only need put my code in the jamwiki but i need disable the acegi of jamwiki i use the acegi in my classes i need integrate this code with the jamwiki and view the results. my email is if you wish add at messenger :) --EDVJAR 22-Apr-2008 15:40 PDT

I'm honestly not sure if the wiki will work with Acegi disabled since it is a core part of the wiki, but you can try removing all references to Acegi and the Acegi filters from your web.xml, which will then allow requests to be processed by the wiki without invoking Acegi. Good luck! -- Ryan 22-Apr-2008 16:00 PDT
the wiki work only have bugs of security, but this bug will fixed with my class, if this works fine i send you the code, for you looked, sorry my english no is very well :)--EDVJAR 22-Apr-2008 16:47 PDT

how disable edit tab in the starting points

hi ryan i hava a problem , i have user but i would like the tabedit appear in the starting point how disabla this option. tx --EDVJAR 29-May-2008 11:34 PDT

There are two options - if you log in as an admin you will see a "Manage" tab on every page, and that page has an option to make any page admin-only (only admins can edit) or read-only (no one can edit). Hope that helps. -- Ryan 29-May-2008 11:49 PDT

--EDVJAR 29-May-2008 11:59 PDT

Setup SVN branch

Hi Ryan, I'm not able to setup a branch in svn repo. I get "502 Bad Gateway (" with subclipse. Can you please create a branch for me. I'll commit my code once the branch is setup. Thanks for your help. --ronin 24-Mar-2009 08:24 PDT

I've created from the trunk branch. Let me know if you have any problems or if you'd prefer a branch created from the 0.7.0 code. If you figure out how to resolve them and have some time please update the Building from Source document (I don't use Subclipse, so I'm not sure how accurate the current documentation is). -- Ryan • (comments) • 24-Mar-2009 08:39 PDT
Thanks a lot Ryan. My original effort was on 0.6.7, so it wasn't a straight port on trunk code. However, I've done the basic testing and basic editing is working. I've discovered that it's non-trivial to hook up file upload commands. I'm looking for some direction from you if possible. we can connect on jabber/gtalk/skype if required. Please let me know.--ronin 24-Mar-2009 23:54 PDT
I'm probably going to be buried in my day job for the rest of the week, but will definitely try to look into your implementation as soon as possible - I'll try to give at least a quick review tonight. If you have specific issues it might be worthwhile creating a Tech:FCKEditor Integration topic so that anyone interested can contribute ideas - I know User:axelclk had some interest, and there have been others who have investigated this topic in the past. Thanks again for starting this - it's been on my to-do list for a while, so it's awesome to see progress finally being made. -- Ryan • (comments) • 25-Mar-2009 07:14 PDT
Update: I've started Tech:FCKEditor Integration with a few basic review comments. -- Ryan • (comments) • 25-Mar-2009 20:04 PDT

Russian translation

In file CREDITS (if it is necessary) it is possible to write down Andrej Sharapov (shar). If you give me access to Special:Translation I am ready to update translation as required. By the way, I had a problem with translation key common.login. In Russian in the menu login as an Enter (Russian equivalent certainly). And in the form of input as a user name (Russian equivalent too). But the key is used both in the menu and in the form of registration. Better in the form of registration to use a key login.username. I think, that while it is necessary to leave in Russian a key common.login without translation.

There was one more problem with a login name translation into Russian in forms jamwiki. In forms login.jsp and upgrade.jsp the key login.username is used. And it is correct. But in register.jsp the key common.login is used. And in it a problem. In my opinion, would be more correct to use a key login.username everywhere where login name input is required. It already was discussed earlier --shar 07-Aug-2009 22:35 PDT
Thanks, I'll make this change as soon as possible - if I haven't updated this thread in the next 3 days to note that it's done please remind me again! -- Ryan • (comments) • 09-Aug-2009 22:33 PDT
At your request I remind--shar 13-Aug-2009 06:39 PDT
Thanks, revision 2666 adds this change. -- Ryan • (comments) • 13-Aug-2009 08:26 PDT
Only now noticed. Another place in register.jsp. It is useful here to replace common.login
<fmt:message key="common.login" />: 
<c:out value="${newuser.username}" />

--shar 01-Sep-2009 22:32 PDT

Thanks for the reminder - revision 2721 fixes the second instance of that message key. -- Ryan • (comments) • 05-Oct-2009 10:42 PDT

The Russian translation of some messages is lost. For example, history.revision. --shar 31-Dec-2010 20:56 PST

Could you clarify where you're seeing the problem? history.revision is there in on line 341 in my local trunk checkout and I also see it when browsing Sourceforge: I removed some obsolete message keys yesterday, but made sure that the line counts for all message key files was the same to ensure that nothing was removed accidentally, but if I've screwed up I'll get it fixed ASAP. -- Ryan • (comments) • 31-Dec-2010 21:39 PST
Never mind, I see what you're saying - looking at it looks like I missed an update you made on and didn't get it committed to Subversion. I'll fix that right away. -- Ryan • (comments) • 31-Dec-2010 22:59 PST
revision 3388 should fix the issue. Sorry about that - I somehow missed your updates on 03-December, so they were never committed to Subversion. As an aside, thank you very, very much for being so diligent about keeping the translation file up-to-date. If you have any suggestions for making the process easier please let me know! -- Ryan • (comments) • 31-Dec-2010 23:17 PST
Now all is good.I wish successes in New year. Happy New Year. --shar 31-Dec-2010 23:31 PST
This time I made sure to commit your changes to Subversion immediately - the latest updates are in revision 3420. -- Ryan • (comments) • 09-Jan-2011 23:04 PST

New tag

hi Ryan. Excuse if I write not in a corresponding subject. I would like to ask. Whether there is a possibility to create standard tools new tags? To me possibility Syntax Highlight (like Wikipedia) interests. In version Jamwiki 0.6.5 I have tried having changed files jflex and having added the code (with implements ParserTag) to receive this function. As a result it was possible to me (with library jhighlight). I have created a tag <source> which processed sources C #, VB, Java. However, in version 0.7 as I have understood, interfaces and rules have changed. Whether there is now a standard reception to make it?

See How to Help#Programmers for some information about contributing code - I'd need to know your Sourceforge ID so that I could give you access to create a branch in Subversion. In the past we've tried to avoid adding tags that aren't present in Mediawiki, but if patches are added with useful new features then it might make sense to add an alternate parser with additional features. Also, the changes for 0.7.0 have mostly just been to add better exception handling, but there haven't been major changes. -- Ryan • (comments) • 02-Apr-2009 21:15 PDT
I took as an example a code of class HtmlLinkTag (public class HtmlLinkTag implements ParserTag). In version 0.6.5 received from your site all classes with termination Tag implements interface ParserTag (public class HtmlLinkTag implements ParserTag). -- shar • (comments) -- P.S. Link on MediaWiki [3]

DBMS of JAMWiki and JAMGuides

Hello Ryan. I am just curious. Which DBMS do you use in the productive deployments of JAMWiki and JAMGuides? -- Charles 01-Jul-2012 10:08 CEST

I put some technical notes for JAMGuides online at Both and run off of the same Dell server (which sits in a closet in my house) running Postgres and Debian. For development I mostly use a Windows laptop with Tomcat and Postgres, although before major releases I usually also run combinations of Resin or JBoss application servers with Oracle, HSQL, MySQL, or Microsoft SQL database servers to try to flush out any environment-specific bugs.
On a related note, I've been thinking about adding functionality to JAMWiki to render a page similar to wikipedia:Special:Version, which would include database type, although I've held off on doing so because I'm not sure every site would be comfortable revealing that information to end users. No one has ever requested this feature (per Feature Requests), so it hasn't been a priority, but it would be easy to do if there was demand for it. -- Ryan • (comments) • 01-Jul-2012 08:42 PDT

Czech translation

Hi Ryan. I have uploaded new version of czech translation ApplicationResources Can you place it on server and into next distribution, please. Thanx. -- vrecion 26-IX-2012 06:43 PDT

Sorry for the delay - I had that queued locally but hadn't committed yet. It's now in Subversion as revision 4189 - thanks again for contributing! -- Ryan • (comments) • 26-Sep-2012 08:03 PDT
Hi Ryan, I just asked. Today, I've uploaded new version with some corrections (hope that last one). Can you update it again, please? Thanks.-- vrecion 28-IX-2012 15:09 PDT
Feel free to update as much as you need! I've got limited internet connectivity through the weekend but will get this updated in Subversion as soon as I'm home. -- Ryan • (comments) • 29-Sep-2012 18:11 PDT
The latest translations are now in Subversion and also live on -- Ryan • (comments) • 01-Oct-2012 12:07 PDT