Current development on JAMWiki is primarily focused on maintenance rather than new features due to a lack of developer availability. If you are interested in working on JAMWiki please join the jamwiki-devel mailing list.

Comments:JAMWiki 0.1.2

JAMWiki 0.1.2

Archived from the Feedback page:

An update on the release plans for JAMWiki 0.1.2 - it will probably go out shortly after the issue with non-ASCII characters being corrupted with some browsers is resolved. Unfortunately it seems that a non-English operating system is necessary to reproduce the issue, so I'm unable to test and progress is kind of slow. As of 2:57 AM on 02-Aug a new fix is out on jamwiki.org, but who knows if this will fix the problem. Testing is encouraged, and once a fix is verified then JAMWiki 0.1.2 will go out. I appreciate everyone's patience while this issue gets resolved. -- Ryan 02-Aug-2006 02:44 PDT

The latest JAMWiki 0.1.2 code is now on jamwiki.org. Recent changes include:
  • Parser fixes. Help:Tables now displays without errors and several other parser bugs have also been squashed (see Known Issues for a partial list). Support for preformatted wiki text (start a new line with a single space followed by text) is also in place.
  • Updated Chinese translations from User:ewen0930.
  • Another cross-site scripting vulnerability (reported by NickJ) has been fixed.
  • Further work to make sure all HTML generated is XHTML-compliant.
  • Printable page has been simplified to remove "Print X number of pages" option.
  • Lots of hard-code strings have been replaced with translation keys.
I've tried a bunch of things to solve the reported problems with non-ASCII characters, but thus far no luck. User:ewen0930 reports that the page encoding for pages he's seeing is NOT UTF-8, which is baffling to me as I believe all of the appropriate headers have been set to force UTF-8. I'll continue investigating, although any feedback or suggestions would be appreciated. Once that issue is resolved then I'll release JAMWiki 0.1.2. -- Ryan 03-Aug-2006 19:01 PDT
Sorry to anyone on the site for the last few minutes - accidentally broke things. My bad. -- Ryan 04-Aug-2006 00:24 PDT

The non-ASCII bug is now (hopefully) fixed, so JAMWiki 0.1.2 will probably be released tomorrow. NickJ has reported some new cross-site scripting issues, so I'd also like to get those fixed, and once that's done the new version should be ready for release. -- Ryan 04-Aug-2006 01:13 PDT

I just pushed the very latest code to jamwiki.org, including the removal of a few more hard-coded message strings. I still need to fix NickJ's reported XSS errors, after which JAMWiki 0.1.2 will be ready for release. -- Ryan 04-Aug-2006 09:54 PDT
JAMWiki 0.1.2 is out. Download links are available from the Main page. -- Ryan 04-Aug-2006 12:35 PDT

Source Code / Bug

Is there an easy way to obtain the source for 0.1.2 (without subversion)? Maybe you could post a gz of the source every time you post a new release? I'm getting an error that I want to troubleshoot. Here's the stack trace (feel free to delete it from here, if this isn't the appropriate location). Maybe you can point me in the right direction with this error, I'm not sure where to look first. (I'm running Resin, by the way).

2006-08-04 14:50:25,500 [tcpConnection-14609-0] ERROR [jsp] Error in JSP page org.apache.taglibs.standard.tag.common.core.NullAttributeException: The "value" attribute illegally evaluated to "null" or "" in <link>

       at org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(ExpressionUtil.java:88)<br />
       at org.jamwiki.tags.LinkTag.doEndTag(LinkTag.java:45)<br />
       at _WEB_22dINF._jsp._wiki__jsp._jspService(Unknown Source)<br />

stack trace trimmed

       at com.caucho.server.TcpConnection.run(TcpConnection.java:139)<br />
       at java.lang.Thread.run(Thread.java:595)
Are there any lines in the log immediately before this one that says what the "value" attribute was? This error indicates that a link was trying to be built, but there was no value passed to the link tag. At the moment the code isn't as robust as it should be in making sure every page has every value needed to display, so it's possible that either a topic, virtual wiki, or other value wasn't added to the request properly, or else there may be some other error occurring that is then eventually causing this problem. In any case it's something I need to fix.
I'll post a new source code release at http://jamwiki.org/jamwiki-0.1.2-src.zip, just give me a few minutes to put it together. My biggest concern with posting regular source code releases for download here is that the server is running on a DSL connection, which really doesn't have the bandwith to support lots of people downloading source. Currently Sourceforge offers the ability to browse the Subversion repository, which might be somewhat useful, and I can investigate the possibility of making source tarballs available from Sourceforge with each major release - keep bugging me about it if I forget! -- Ryan 04-Aug-2006 14:58 PDT
OK, the file is there for download. The only difference between this file and the code released for JAMWiki 0.1.2 is that the version string has been pushed to 0.1.3, so this will build and report itself as JAMWiki 0.1.3. To revert that simply search for "0.1.3" in the source and change the occurrences back to "0.1.2" and you'll have an exact copy of the JAMWiki 0.1.2 source. Let me know if I can do anything else to help. -- Ryan 04-Aug-2006 15:08 PDT

In looking at the log, I just noticed that what I posted was the last in a series of errors, below is what happened first. You may recall that I am the one who asked you to move the SQL into properties files (which you did. thanks!). I believe my problem may be related to accessing my database. Any thoughts? (And thanks again for posting the source ... oops, I get a 404 when I click that link to the source.)

2006-08-04 14:50:25,198 [tcpConnection-14609-0] ERROR [JAMWikiServlet] Servlet error java.lang.NullPointerException

       at org.jamwiki.servlets.JAMWikiServlet.viewTopic(JAMWikiServlet.java:361)<br />
       at org.jamwiki.servlets.TopicServlet.viewTopic(TopicServlet.java:113)<br />
       at org.jamwiki.servlets.TopicServlet.handleRequestInternal(TopicServlet.java:55)<br />

stack trace trimmed

       at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)<br />
       at org.jamwiki.servlets.JAMWikiFilter.doFilter(JAMWikiFilter.java:56)<br />
       at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
From that it looks like "getHandler()" returned null, which happens if it can't access the database. Were there any other failure messages prior to that one thrown from the DatabaseHandler?
And I named the file incorrectly on the server. It should (hopefully) work now. Sorry about that. -- Ryan 04-Aug-2006 15:19 PDT

I decided to start from scratch with a clean install. Right out of the box, the setup screen looks like this: http://jamwiki.org/wiki/en/Image:jamwiki-setup.jpg

OK, there's a problem reading property files. I had to change the way that the message files were loaded to solve the non-ASCII bug for this release, so it's possible that broke things, or it could possibly be a permission issue. I can try to reproduce (but probably not tonight, it's Friday :) ) - what version of Resin are you using? And just to verify, the Resin user has access to all of the files in the JAMWiki webapp directory, right? -- Ryan 04-Aug-2006 17:01 PDT

I'm running Resin 2.1.16. Yeah, the resin user has full permissions. There was no problem with version 0.1.1.

The following lines had to be removed from the /WEB-INF/web.xml file, and adding them back (replace the comment about not doing this) may solve the problem (note that this isn't a long-term solution as it breaks some Tomcat versions):
    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>ApplicationResources</param-value>
    </context-param>
I'll investigate further tomorrow by installing Resin and seeing what happens. Sorry for the problems! -- Ryan 04-Aug-2006 17:16 PDT

No problem, adding the context-param did the trick for now. However, I think I've found the root cause of my database problems. When starting from scratch, and submitting the setup, I get the below error. It seems that the SQL statements are not getting set and it's attempting to execute a null query.

2006-08-04 17:44:37,963 [tcpConnection-14609-3] INFO [DatabaseConnection] Executing SQL: null
2006-08-04 17:44:37,965 [tcpConnection-14609-3] ERROR [DatabaseHandler] Unable to set up database tables
java.lang.Exception: Failure while executing null

       at org.jamwiki.persistency.db.DatabaseConnection.executeUpdate(DatabaseConnection.java:186)<br />
       at org.jamwiki.persistency.db.DefaultQueryHandler.createTables(DefaultQueryHandler.java:112)<br />
       at org.jamwiki.persistency.db.DatabaseHandler.initialize(DatabaseHandler.java:293)<br />
       at org.jamwiki.WikiBase.reset(WikiBase.java:247)<br />

stack trace trimmed

       at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:353)<br />
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:165)
Looks like the problem may possibly be due to me being slightly retarded. What database are you using? I'm gonna go out on a limb and guess that you chose "ansi", right? If that's the case then it looks like I forgot to load the SQL properties, and just never caught it because I tested with Postgres, Oracle and MySQL. Assuming that's what happened then I'll get JAMWiki 0.1.3 out either tonight or tomorrow with a fix for this problem. Embarrassing... sorry! -- Ryan 04-Aug-2006 17:47 PDT

Yup, ansi. I'm using (stuck with) MS SQL Server. I won't be back on this until Monday, please don't rush out a new build on my account.

This is an embarrassing enough bug that I'll put out a brown paper bag release as soon as I can. I'll also try to investigate the ApplicationResources issue and see if there's an easy fix. It's 6:00 PM on a Friday here right now, so I probably won't do anything tonight, but more than likely I'll get something out tomorrow. Thanks again for your help in tracking this problem down! -- Ryan 04-Aug-2006 17:55 PDT

JAMWiki 0.1.3 is now out. I tested using Resin 2.1.17 but couldn't reproduce the problem you reported with the ApplicationResources.properties not loading translation values - please let me know if you still see that with the new version. I did run into a lot of other problems with Resin that should be fixed - Resin is stricter in its adherence to the JSP taglib standards, so I've cleaned up my taglib code to follow the standard. Also, Resin didn't like the way response encoding was being set, so that should also be fixed. The database bug you reported when trying to set up in "ansi" mode should also be resolved (I was able to install into a Postgres database using "ansi" mode), and an unrelated issue I found when testing with WebSphere should now also be resolved. Please let me know if you have any additional issues.

Source code for the new release will be available shortly from http://jamwiki.org/jamwiki-0.1.3-src.zip. -- Ryan 05-Aug-2006 14:43 PDT