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:Feature Requests


Multi-server support

I tried to find something about what is missing for multi-server support. The best information seems to be on this page. But in Known Issues I read

File persistency mode removed as of JAMWiki 0.4.0. -- Ryan 17-Oct-2006 22:12 PDT

So I guess this is not important anymore? Are there any others points besides die file/image upload thing? Because in this case for our environment we would be able to use a multi-server installation--HB 26-Nov-2009 05:46 PST

I'll add a FAQ entry as soon as possible. Ehcache will need to be configured for a distributed cache, and someone will need to look at the Spring Transaction code to ensure that it will work when multiple app servers are accessing the same database. The Lucene configuration will probably also need updates to ensure that the search index is updated properly. As far as I'm aware no one has yet attempted to run JAMWiki in a distributed environment, so there could potentially be other issues, or everything might work perfectly - feedback would be appreciated. -- Ryan • (comments) • 26-Nov-2009 09:55 PST

Incremental backup

Archived from the Feedback page:

We are interested in using a Wiki onboard of a research vessel, and in land at the same time. To sincronice both, we need incremental backups. My question is if JAMWiki has that feature.--mmeixide 18-Jan-2008 00:29 PST

--mmeixide 08-Feb-2008 00:40 PST There is no answer? :)--mmeixide 08-Feb-2008 00:40 PST

Sorry, I didn't see this question. I haven't used JAMWiki in this mode, so it isn't supported out of the box. The three things that would need to be synced if you wanted to try this are: 1) the database 2) the file upload folder 3) the search index (or you force the search engine to re-spider after each sync from Special:Maintenance). -- Ryan 08-Feb-2008 08:28 PST

A too long page

I think that this page is just too long, and I don't think we should organize information in such a way. jack 20-Jul-2010 11:51 PDT

I've been thinking about deploying JIRA for bug-tracking and feature requests. I've held off on doing so mostly because I like the idea of having everything on, but if there is interest I can look into getting that set up. Alternately it would probably be possible to divide bug reports and feature requests using categories, so for example there would be a feature request category and sub-categories under it to group individual features. Any suggestions are welcome. -- Ryan • (comments) • 20-Jul-2010 13:27 PDT

Weblogic compatible!

We cant use this tool inside weblogic! after Oracle buyed Bea things not are happen, please make this wiki compatible as soon as possible, tomcat is not aceptable in production environments, its not a Java EE conteiner... this wiki is much better from oracle webcenter wiki, please do something about this.

Hide Certain Topic/Article Parts by User/Group Roles

Archived from the Feedback page:

Is there any way to limit viewing of certain parts of an article by User/Group Roles? For example: I have an article which contains some confidential information. I do not want to create another page with just this information, and then change the /WEB-INF/applicationContext-security.xml file so that only a particular User/Group see them. Is there any way to do it? -- Felipe Avilis • (comments) • 26-May-2011 09:33 PDT

Currently there is no way to implement this functionality. It might be possible in the future to do something via permissions on an included sub-topic, but in general the concept of a wiki is of an open system, so efforts to add additional security tend to run into significant limitations based on the underlying system architecture. -- Ryan • (comments) • 26-May-2011 10:17 PDT

Links that aren't HTML

Archived from the Feedback page:

I'm trying to include a link to a Test Director bug in one particular page, but I'm not having much luck. Test Director is our bug tracking system we use on our project. The problem is that it uses a different protocol that JamWiki does not recognise. The link is, for example,


Any ideas what I can do to get around this?

Many Thanks--SteveJ 04-Apr-2011 08:49 PDT

Without some fairly significant hacking of the code I can't think of a way to get the current JAMWiki code to recognize a link syntax outside of the standard ones (mailto, http, https, ftp, file). If you're willing to write some custom code you could search the current code base for "ftp" and use that as an example to add support for "td:", but otherwise I'm not sure that there would be an easy way to get the current code to recognize the above syntax as a link. -- Ryan • (comments) • 04-Apr-2011 09:43 PDT
Note that one of the items planned for implementation in JAMWiki 1.1 is the ability to add custom parser extensions, which would make support for custom code a bit easier, but that is at least 3-4 months away from release. -- Ryan • (comments) • 04-Apr-2011 09:44 PDT

Is there a way to design formulas inline?

Archived from the Feedback page:

Dear JAMWiki-team,

We are very happy about using your wiki engine which is integrated in our OpenSource LMS (OLAT). Our users often ask if there is a way to align formulas (<math>) within the normal text flow. As we noticed so far, according style attributes are not accepted (cf. MediaWiki Handbook -> Formulas). Are there any possibilities to design formulas inline or are there any improvements planned, yet?

Have you possibly thought about implementing MathJax? Would this bring any improvements regarding my initial question?

Thank you for your great work!

Regards from Chemnitz, Germany


Thanks for the feedback! There have been many requests to add support for math formulas, but currently nothing is available out of the box. Several years ago someone put together a guide for using jsMath with JAMWiki - see Tech:Integrate jsMath, although I'm not sure how current that is. One issue I'm hoping to make progress on for JAMWiki 1.1 is support for custom parser tags, so if that does get done then it would be easier for an interested developer to add his/her own tag. However, even with custom tag support it would likely be a several months before math tag support would be available. -- Ryan • (comments) • 22-Feb-2011 07:52 PST

MathJax with JAMWiki

MathJax JavaScript display engine implements almost all TeX/LaTeX mathematical expressions typesetting on the HTML pages and is completely independent of the other *TeX software. It expands the brilliant achievement of Davide Cervone on the jsMath and is about to set a standard in the field. It is used with virtually all mainstream wiki engines. Certainly it works also with JAMWiki. Its installation on JAMWiki boils down to a simple insert of a few lines of code in the two server pages. This topic describes also the local installation of the whole open source package.


In order to be specific the following covers installation of MathJax in the static contents directory of the same server where the JAMWiki web application runs. With the Apache Tomcat it is usually at $CATALINA_HOME/webapps/ROOT/, which maps to the relative URL /MathJax/ from any server page, provided you don't have the servlet mapped to the same name :-).

  • Strictly speaking there is no need other than a better efficiency and a long term reliability to install MathJax at all. Currently the MathJax JavaScript display engine is served along with the fonts from the worldwide network of servers sharing the entry point at               |
                                                    TeX-AMS-MML_HTMLorMML |
                                                    TeX-AMS_HTML          |
                                                    MML_HTMLorMML         |
  • To decrease the load, save bandwidth and to ensure high typesetting quality it is highly recommended to install MathJax *.otf "open true type" fonts on each client. It may save user from dealing with sometimes bizarre default security configurations of the certain type of browsers prohibiting downloadable fonts in which case MathJax falls back to serve a lot of *.png image glyphs.
MathJax Installation
  1. Download latest (currently v#1.1a) archive from and expand it into the $CATALINA_HOME/webapps/ROOT/MathJax/ directory.
  2. (Optionally) Copy and save for distribution among the clients font files from the fonts/otf/ directory under the MathJax distribution root.
JAMWiki Patch

Insert the following code snippet

<script type="text/x-mathjax-config">
   extensions: ["tex2jax.js"],
   jax: ["input/TeX","output/HTML-CSS"],
   tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]],
      skipTags:  ["script","noscript","style","textarea","pre","code"]} 
<script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>  
into the $CATALINA_HOME/webapps/jamwiki-root/WEB-INF/jsp/top.jsp (and into the printable.jsp there) just before the </head> closure tags.

If you wish to typeset formula within the pre tag, remove the ,"pre" from the skipTags list above. In this case you will need code tag to prevent unintended expansion of the LaTeX script.

If you've decided to pull the engine from the cdn servers instead, just change the src attribute value.

Web application-wide MathJax configuration example given above can be tested immediately after the patched files were saved:

Inline math: $\mathcal{M}=\{\Bbb{A,B,C,\dots}\}$ and \(\mathbb{A}|\mathbb{A}'\;:\;\mathbb{A}\subset\mathbb{Q}\;,\;\mathbb{A}\ne\emptyset\;,\;\mathbb{A}'=\mathbb{Q}\cap\mathbb{A}\;,\;\mathbb{A}'\ne\emptyset\)

Display math: \[\sigma^2=\overline{(x-\bar{x})^2}=\begin{cases}\sum_{n=1}^N (x_n-\bar{x})^2p_n& \text{discrete variable }x_n \text{ with }N\text{ possible values},\\ \intop_{a}^{b}(x-\bar{x})^2 p(x)\rm{d}x& \text{continuous variable }x \in [a,b]. \end{cases}\tag{13.4}\]

Client Fonts

  • GNU Linux client: Just copy otf fonts into the user ~/.fonts/ directory. For the system-wide installation ask your sysadmin.
  • MS Windows client: Double click on each font icon, then follow the GUI to register (it's greedy).

Works smoothly, from 0.7.2 to 1.1,

Best regards.

Serge 20110920


There have been a number of people who have suggested using Javascript for formula support. I'd be interested in any thoughts on the following:

  • Would it be useful if there was a simpler way of adding custom Javascript to JAMWiki instead of modifying JSP files directly? Something more like the StyleSheet and LeftMenu topics?
    • Of cause it would be useful. However with "consideration as wasting resources whenever there is no math on the page" (see below) would be better if auther of the page would be able to control which JS files to include by (let say) including special tag at the to of the page. This way if I know I'll use Math in my page I'll include this JS file, other wise -- not. -- CAB • 03-Jan-2011 17:26 EST
  • With the parser tag changes in JAMWiki 1.1 it should now be relatively easy for someone to write an HTML-like tag for formula parsing. I don't plan on writing this myself, but would be happy to help get someone with decent Java skills going on it if there are any volunteers.

-- Ryan • (comments) • 20-Sep-2011 13:47 PDT

  • Might be. (I agree that the patch isn't a proper way to take. Including such minor consideration as wasting resources whenever there is no math on the page.) WordPress MathJax plugin uses author-configurable "skins" to inject the math typesetting load/config stuff into the html' head. In fact the configuration/load script may reside at the beginning of the html' body, that what the authors say. Poorer efficiency, increased probability of different parsers threads collision, but it should work. As for implementation - I will think a bit for whether it would be realistic against my schedule...
  • It isn't just a problem of parsing whatever - MML or D.Knuth's TeX. To locate start/stop tags of a formula is easy. The typesetting itself is really a huge problem. In fact we've denied any standard text drawing support when typesetting. E.g. the whole business of Adobe was using TeX to design PS then PDF imaging. Typesetting packages are coping with low level drawing implementing imaging models different and more sophisticated than those of a standard line text, even more than cuneiform line/column models. What goes for the grammar standards for typesetting dialects today is a joke. On the other hand we have more or less stable core of LaTeX which is the must-to-know language for the community that uses math.

-- Serge 21-Sep-2011

  • In order to use MathJag auther should know TeX or MathML. Both are not very "wiki-like". I found ASCIIMath* set of JS scripts, which convert mostly regular math formulas into MathML or image. This IMHO would be better option to include into Wiki. -- CAB • 03-Jan-2011 17:26 EST

Random page

Archived from the Feedback page:

Hello, i would like to implement a random page link like the random article link in wikipedia. Is this possible in jamwiki? How can i programm such a link? Thanks —The preceding comment was added by (commentscontribs) .

There is no such functionality in JAMWiki currently, but it would be easy to program - you could simply call WikiBase.getDataHandler().getAllTopicNames() or WikiBase.getDataHandler().lookupTopicByType() and then return a random result. -- Ryan • (comments) • 04-Nov-2010 08:11 PDT

Thanks on this)

another recent changes

Archived from the Feedback page:

I would really like a new "recent change" page. In this new page, I don't need every detail information. I need only a list of topics order by the time of the latest change. I would say if we use xml a little bit more, then deliver an xml file to the client, then the client side can render whatever is desired, and we don't have to tough the server side. jack 01-Aug-2010 12:15 PDT

We discovered that the list of recent changes is easier to read if subsequent edits, done by the same user/IP are not shown if they would appear in the changes list in a sequence. This does not prevent from accessing these intermediate versions from the article history page audriusa 05-Aug-2010 03:33 PDT

new id in wiki page

Archived from the Feedback page:

I want to attach something to the wiki page. For example, attach a special section for some pages. Is there anyone know where I should go? jack 01-Aug-2010 12:15 PDT

I'm not 100% sure I understand. If you want to include the same content within multiple pages you can create a topic that contains the shared content, and then include it in other pages using transclusion - {{:Topic Name of Content to Include}}. If that's not what you need please provide an example and I'll try to help, although I'm currently on my way to the airport so it may be a while before I can respond. -- Ryan • (comments) • 01-Aug-2010 13:06 PDT
In my application, a topic is an item which is provided by some providers. So I want attach a section titled providers. And the information who provides what at what price should be got from database. In order to separate data from UI render, so I use xml to transfer data to the client side, at client side, then a new section is attached, and providers are presented to user. I think that I'd rather not to do anything in the server side, I can achieve this in the client side directly, so my problem is solved. Just one question, why don't we use more xml to transfer data, then data & User interface can be separated. jack 01-Aug-2010 20:09 PDT
I'd need to see how you're rendering XML - with standard J2EE there are performance concerns, and since the content is meant to be rendered in web browsers then HTML generation gives the most flexibility. If you just need topics as XML then the Special:Export tool can output any topic as XML, and it would be possible to create JSP templates that render content as XML, but the base platform has been standardized on JSPs that generate HTML. -- Ryan • (comments) • 01-Aug-2010 20:28 PDT

Whether jamwiki provide the web services interface

Archived from the Feedback page:

__Q__:Whether jamwiki provide the web services interface?

There is currently no web services interface. In the future something similar to would be possible, but it is not currently on the Roadmap. -- Ryan • (comments) • 04-Jan-2012 21:45 PST