Bug Reports

Bug reports can be made here or on the Feedback page. The Known Issues page also contains a list of bug and feature requests (if anyone has ideas for better organization, let's hear 'em!). When adding a bug report, please include the database version (if any), JDBC driver (if any), and application server version in your report. It would be easiest if any new discussion was listed under its own heading, which can be done by entering the following code:

==Description of Issue==

For resolved bug reports please see Bug Reports/Resolved. For old bug reports that were not resolved due to lack of information or other issues see Bug Reports/Unresolved.

[Edit]Ghost Page

JAMWiki 0.6.7

I created a page named Page_Name with content and a category tag. Subsequently I moved it and deleted the original. However when you go to Category:Page_Name or Special:Allpages it still appears in the listings.

  • if you go directly to /en/Page_Name it does not exist and opens the edit view
  • restarting the server to clear the cache does not remove the ghost entry
  • trying to recreate the page and delete it again does not work

If I can't resolve the bug I may recreate the wiki. Is their an way to export/dump the text from the wiki pages? I am currently using the internal database.

j_teer 06-Jan-2009 17:55 PST

See Configuration#System Maintenance for discussions about migrating databases. At present there isn't a well-tested way of exporting an HSQL database. Alternatively you can manually clear the cache from the Special:Maintenance page and see if that resolves the issues. -- Ryan • (comments) • 10-Jan-2009 19:25 PST
Thanks Ryan, I tried the manual cache clearing without success. But I am unclear if it's a real bug or possible corruption from earlier issues I had. I am going to manually copy the pages when 0.7 comes out in case it is corruption. If I can't duplicate the Ghost Page then I'll close this bug. j_teer 21-Jan-2009 17:21 PST

[Edit]Hypersonic DB throws NullPointerException on Startup

JAMWiki 0.6.7 Tomcat 6.0.16 Java 1.6.0_06 Linux Slackware

When using the internal database occasionally on start up the Hypersonic Database throws a NullPointerException. The application continues to function. This only happens occasionally.

Exception in thread "HSQLDB Timer @ad40a0" java.lang.NullPointerException
	at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
	at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:619)

j_teer 06-Jan-2009 15:19 PST

[Edit]Cached Pages with Incorrect Links

JAMWiki 0.6.7

Some wiki codes such as

[[:Category:Test]]

are parsed to display

/en/Special:Edit?topic=Catagory:Test

instead of

/en/Category:Test

if that page does not exist. If you create or delete the page, links are not quickly updated on other pages. It's likely a cache issue.

Possible fixes include

  • immediately expire the cache for pages with redirected links
  • rather than rewriting the link displayed, do a http redirect
  • Change the default behavior for certain special pages. Many users may not want special pages to default to edit. The wiki should display listings with the standard 'this page doesn't exist'.

j_teer

I think you're right that it's probably a cache issue, and I suspect that other links starting with colons (such as [[:Image:MyImage.gif]]) will have the same issue. I'll try to get a fix together. Regarding changing behavior, as much as possible I try to follow Mediawiki, so if they behave differently then I'll update JAMWiki to match. -- Ryan 05-Jan-2009 19:33 PST
Thanks, I am also noticing that deleted or moved pages continue to be listed on Category:Page for some time after they are deleted. It's possibly related to the same issue. j_teer 06-Jan-2009 12:24 PST
I actually just tried to recreate this issue on my local (Windows) box and on jamwiki.org (Linux). Both are running some version of the 0.7.0 code, but there hasn't been any significant changes to the caching code, so the behavior should be the same as 0.6.7. In both cases things worked as expected - the link was red when the category didn't exist, and blue after the category was created. The exact steps I followed were:
  1. Add [[:Category:JAMWiki Test Category]] to the Sandbox topic.
  2. Preview. Link is red.
  3. Save the topic. Link is red.
  4. Click on the link, taking me to the category page.
  5. Save the category without entering any content.
  6. Return to the Sandbox page. Link is now blue.
If you followed different steps could you let me know how to reproduce the bug? If not, have you made any changes to the default cache settings from the Special:Admin pages? Can you reproduce this issue on jamwiki.org? Thanks! -- Ryan 09-Jan-2009 10:04 PST

[Edit]Application hangs on Tomcat shutdown

New installation using defaults and the internal database starts up and operates correctly. But hangs when you shutdown Tomcat forcing you to kill the processes. Also a new installation where the configuration was not completed by filling parameters on the installation page also hangs on shutdown.

Tomcat 6.0.16 JAMWiki 0.6.7 Java 1.6.0_06 Linux Slackware

Jan 3, 2009 1:13:10 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2645 ms
Jan 3, 2009 1:16:38 PM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1
Jan 3, 2009 1:16:39 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Jan 3, 2009 1:16:39 PM org.apache.catalina.core.ApplicationContext log
INFO: Destroying Spring FrameworkServlet 'jamwiki'
Jan 3, 2009 1:16:39 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Jan 3, 2009 1:16:40 PM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1

If you have some ideas and I can test them. j_teer

This issue sounds similar to Tech comments:Transactions, although I thought that problem was resolved. I haven't personally seen this - are you using an external database or the JAMWiki internal database? -- Ryan 05-Jan-2009 19:37 PST
It's the internal database and mostly default settings. I read the previous transaction issues, it is consistent with the problem. j_teer 06-Jan-2009 12:24 PST

[Edit]Large Number of Sessions

Environment: Jamwiki 0.6.3, Database - hsql, Application Server - Apache Tomcat 6.0

Description: Our local wiki page has been having a very large number of open sessions (anywhere from 1,000, to 6,500 sessions). Most of the sessions seemed to be only used for a few seconds. My first thought was the RSS feed due to the low used times of the sessions, however, I removed that ability and no changes where seen. I also don't believe this is a Tomcat issue because all of the other applications have normal session numbers (anywhere from 0 to 50).

I believe this may be the cause our application server running out of memory on occasion as well. This is a major problem because Tomcat has to be restarted to reset the memory, which inturn logs out all users.

I am still investigating other probable causes to the issue and I will post an update if a solution is found. -- wbryan 04-Apr-2008 08:18 EST

- At work I've seen out of memory conditions in Tomcat when the database is having problems, but I'm not sure if that causes extra sessions to be generated. If you find anything please let me know, and I'll try to see if the same issue is occurring on jamwiki.org or on my laptop when I get a chance. -- Ryan 14-Apr-2008 08:29 PDT
- I am having no luck finding out the problem with the high number of sessions. Our tomcat manager is now show 13,000+ open sessions. At the extreme maximum there should be no more than 100 open sessions. If anyone has any suggestions or ideas I am open and ready. Thank you. -- wbryan 01-May-2008 07:52 EST
There are a few bug reports that I need to investigate more fully before putting out the final 0.6.6 release, and this is one of them. I haven't had much time to look into this yet, but will definitely provide an update if I discover anything. Sorry about your troubles, and thanks for the continued feedback. -- Ryan 01-May-2008 08:05 PDT
Just an update to say that I've (finally) installed the Tomcat manager on jamwiki.org and will keep an eye on sessions. At the moment it's pretty stead at 100-120, although that seems a bit high. I've noticed that if I click on numerous links that new sessions are opened, despite the fact that it should be using the existing session, so I'll have to investigate to see what might be going on. -- Ryan 13-May-2008 21:22 PDT
72 sessions on jamwiki.org at the moment (Tomcat 5.5, Java 5, JAMWiki 0.6.6). Is there anything specific to your setup that might cause the number of sessions to increase greatly? A search spider or anything similar? -- Ryan 14-May-2008 22:19 PDT
no search spiders or anything out of the ordinary that I am aware of. I am going to try two things. 1. talk to our network guy and see if he can tell me anything. 2. upgrade to the newest version of jamwiki (currently running 0.6.3, tried to update before but had some issues). Thanks for the updates, your doing a great job here. -- wbryan 15-May-2008 07:55 EST
Thanks - let me know if you find anything, and I'll keep investigating. The number of sessions on jamwiki.org after a server restart (the 100-120 number above) seems high, so I'll try to figure out what might be causing that, and hopefully this issue will eventually get resolved. -- Ryan 15-May-2008 08:06 PDT

[Edit]Upload fails when running tomcat within low privileged user

I am unable to upload files under Mac OS X (10.5) and Jamwiki 0.6.3. The file appears to upload into the upload directory so I can see that all is well there. However I get a java.lang.InternalError thrown as follows:

2008-03-07 15:19:43,035 SEVERE: org.jamwiki.servlets.ServletUtil - Servlet error
java.lang.InternalError: Can't connect to window server - not enough permissions.
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1822)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1723)
	at java.lang.Runtime.loadLibrary0(Runtime.java:822)
	at java.lang.System.loadLibrary(System.java:993)
	at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.image.ColorModel.loadLibraries(ColorModel.java:188)
	at java.awt.image.ColorModel.<clinit>(ColorModel.java:196)
	at javax.imageio.ImageTypeSpecifier$Packed.<init>(ImageTypeSpecifier.java:275)
	at javax.imageio.ImageTypeSpecifier.createPacked(ImageTypeSpecifier.java:327)
	at javax.imageio.ImageTypeSpecifier.<clinit>(ImageTypeSpecifier.java:63)
	at com.sun.imageio.plugins.jpeg.JPEGImageReader.<clinit>(JPEGImageReader.java:202)
	at com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:89)
''trimmed''

Any advice? --huntc 06-Mar-2008 20:10 PST

Thanks for the detailed bug report. I don't have a Mac to try to reproduce this with, and haven't heard any similar bug reports, but I'll try to find some time to investigate this weekend and will let you know if there is an obvious solution. If anyone else with a Mac has seen this issue and can provide a solution it would be much appreciated. -- Ryan 07-Mar-2008 06:59 PST
No progress? Still can't upload images. :-( --huntc 10-Jul-2008 05:07 PDT

[Edit]Configuration forgotten every redeploy

I'm trying to use JAMWiki under Jetty. Everything seems to work fine. Then I restart jetty, and all the installation configuration options like the directories and admin passwords seem lost. That is, after a jetty restart, I have to fill out the installation fields again. JAMWiki warns me that there is an existing installation, and I say to continue.

Previous reports like this one have required changes in the way that the WAR is deployed on the application server - see Installation#Web Application Server Configuration, specifically BEA and JBoss. Apparently some application servers clear properties files if the application is not deployed in an exploded form. Hopefully that helps. -- Ryan 08-Feb-2007 21:48 PST
Could you provide a way to pass the needed information in initialization parameters or something like that? I believe it's init-param or context-param or something like that when the context is started.
A conjecture: Jetty does not appear to open War files as Tomcat does. This might mean that the /classes/jamwiki.properties file is not actually being written (which is where JAMWiki remembers its configuration); if there is a file error thrown, it's not being reported. Try opening the War file and dropping it into a directory, say, webapps/wiki and then clear the data area and start over. -- Jack 12-Mar-2007 13:49 PDST

This comment copied from the FAQ page:

Each time I re-start the server, JAMWiki goes through the .../en/Special:Setup webpage requiring that I re-setup the File-System directory, File upload directory and also resetting the admin user login and password. Is there a way to prevent this from happening? I want the admin user/password to be able survive a stop/restart of the server. Thanks...

[Edit]Links to non-image files broken

I am trying upload a VCF-file (text) and create a link to it from a page.

The upload itself works, but the file is assumed to be an image. (An Image:myfile.vcf page is generated). When I try to use this link on a page, it is rendered as href="null".

--Jens 02-Feb-2007 01:53 PST

The "Image:" prefix is used by-design for all file uploads, and is consistent with MediaWiki. There are discussions to change that behavior (see the Feedback page) but nothing has yet been implemented. Note that the MediaWiki syntax for displaying an image is [[Image:Example.jpg]], but since files can't be displayed that syntax won't display anything for non-images. Using [[:Image:Example.jpg]] is the recommended syntax for linking to an image page. Let me know if that resolves the problem for you, and thanks for the report. -- Ryan 02-Feb-2007 07:43 PST

Hi, this bug description matches what I encounter too. In essence, I can upload non-image text files, but can't make a link to them or retrieve them. Note that all works fine for images, though.

In detail, here is what I do on my 0.5.2 install, internal database, Tomcat 6.0:

  • upload example.txt using the Upload File page
  • check in E:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\JAMWikiUploads\2007\3 : the file has been uploaded there
  • check that my Relative path from web server root to file upload directory is set to ../../JAMWikiUploads/, while my server root is E:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\wiki\WEB-INF (Note: I wouldn't actually call that a server root, perhaps change the name ?)
  • on the Image: web page that I get after the upload, there is the "View/Download this file: Image:example.txt" link; however, it is rendered in HTML as anchor with href="", which is bad: I can't retrieve the original file.
  • if in another page, I insert
    [[:Image:example.txt]]
    
    , the hlink is href="/wiki/en/Image:TCM_6A09.doc", which is OK
  • if in another page, I insert
    [[Image:example.txt]]
    
    , the hlink is href="null", which is bad

Thanks for your comments.

-- SB 27-Mar-2007

Thanks for the detailed bug report. I suspect the problem may be related to serving images from within the Tomcat application directory (I use a separate Apache directory in my local testing), so I'll see if I can reproduce the problem and get a fix ready. I can't promise that I'll get to this issue soon, so if anyone else is seeing this issue and is interested in working on a fix please let me know. -- Ryan 27-Mar-2007 22:04 PST
Idem with 0.5.3 -- SB 12-Apr-2007

[Edit]Odd category behaviour

Sometimes during my usage of JamWiki I created a category whose name is starting with uppercase letter, e.g. Health. Later on, I accidentally created one of the articles to belong to the same category, but with lowercase starting letter, health. After that, on Special:Categories page these got displayed as distinct categories, but with same articles lists. Then I tried to move one category to the other, health -> Health, and got the following error:

An unknown system error has occurred. The error message is: java.lang.StringIndexOutOfBoundsException: String index out of range: -1.

Now, this error message is displayed whenever I try to select either of the categories involved.

I believe these could be two different issues:

  1. handling capitalization in category names, and
  2. trying to move (rename) one category into another one that already exists;

Using JAMWiki 0.5.0 with internal HSQLdb on Tomcat 5.5.17.

-- Vlada 26-Jan-2007 00:33 PST

Thanks, I'll see if I can reproduce this problem & hopefully get a fix in the next day or two. -- Ryan 27-Jan-2007 01:46 PST
After a bit of investigation I'm going to hold off on changing anything prior to the 0.5.1 release. There may be more than one issue here, but at least one problem is that it's not consistent how the case-sensitivity for categories is handled. For example:
  • A topic named "Category:Uppercase" is edited and created.
  • JAMWiki will now prevent you from creating a second category named "Category:UpPeRcAsE".
  • However, adding tags such as "Category:Uppercase" and "Category:UpPeRcAsE" to topics is still valid, and results in two separate categories being displayed on Special:Categories.
The solution would be either to remove the case-insensitive condition for categories or to add some logic to determine that "Uppercase" and "UpPeRcAsE" are the same; the difficulty in the latter approach is determining which value to use when displaying the category name. In either case, there may be some issues with backwards-compatibility to deal with. -- Ryan 27-Jan-2007 14:57 PST

[Edit]Deleted pages in search results

When I delete a page then search for the title, it shows up in the search results as a red link (non-existing page). It only vanishes completely when I go to the admin section and refresh the search index manually. I don't know how Lucene works, is it possible to refresh the index outside of JamWiki (e.g. in a cron job) do you know?

JamWiki version 0.5, postgres database.

Oliver 24-Jan-2007 03:54 PST

I'll make sure I can reproduce, and provided the same bug exists in my environment this should be an easy issue to resolve. I'm not sure if there's a way to refresh the index from a CRON job - you'd basically have to run Java commands from the shell, which would be ugly if it even worked. The best option is probably just to wait for a fix in 0.5.1 and occasionally refresh the search index manually until then. -- Ryan 24-Jan-2007 09:10 PST
I added a document, searched for it, then deleted it and repeated the search. After deletion it was gone, so this issue might be a bit harder to track down than I initially assumed. Are there any error messages in your log after deleting the page? -- Ryan 24-Jan-2007 20:30 PST
Nothing in the log. Don't worry about it if it doesn't affect others. I can rebuild the index manually now and again. Oliver 25-Jan-2007 03:39 PST
This may be related to the issue of Ghost Page. j_teer 08-Jan-2009 21:06 PST

[Edit]Editing virtual wiki start page doesn't work

when trying to edit the default page for any virtual wiki (on the admin screen), it comes back with "Failure while adding virtual wiki: null."

I'm unable to reproduce this problem - if possible, can you provide the following?
  • Your JAMWiki version.
  • Your database version.
  • Any log messages produced when this error occurs.
  • The default page name and virtual wiki name you're using when you get this error.
Thanks! -- Ryan 01-Jan-2007 12:20 PST
I'm having the same problem. I'm currently running Jamwiki 0.4.3 on Postgres 8.0 on a Fedora Core 4 server on Tomcat 5.0.28 if this helps. I don't have time to look into the server logs right now but when I get some time I will post them here. Alexander Boyd 18-Feb-2007 23:19 PST
The name of the virtual wiki is eportal and the start page was StartingPoints and I was attempting to change it to Evaluation Portal. The entire wiki system is located at http://trivergia.com Alexander Boyd 18-Feb-2007 23:23 PST
Thanks for the additional report. Any messages from the logs would be helpful, and provided I can pin down what's breaking I'll try to get this issue resolved for 0.5.2. -- Ryan 19-Feb-2007 00:10 PST
As of 01 April I'm still unable to reproduce this problem, so anyone who is experiencing this issue please let me know any additional information about your setup, particulary the app server being used, any log messages, and the path to your JAMWiki system directory.
Hi, I had the same problem (tomcat, hsql & mysql, 0.6.6) , so I checked the code in the repo (0.7 or so). As far as I can tell, the AdminServlet.properties() function does update the properties file, but doesn't update the default virtualWiki in the DB. Attila - Wed Jul 16 01:56:55 CEST 2008
Thanks, that's helpful! I've been swamped with other stuff since getting back from vacation, but hopefully will be able to investigate this further soon. -- Ryan 16-Jul-2008 22:15 PDT

[Edit]Possible classpath issue

While playing with various configurations of Jetty, I finally started getting an exception tossed by Utilities.readFile: "File pages/StartingPoints.txt is not available for reading". This configuration is the same I have been using in several other trials: the conventional Jetty distribution, with JAMWiki installed in a directory inside /webapps and starting Jetty with the commandline "java -jar start.jar etc/jetty.xml". Just reporting the event. Not sure what changed yet. -- Jack 12-Mar-2007 13:55 PDST

A test of a classpath issue calls for moving the /pages directory out to the root server directory. Doing just that removed the problem. The hint seems to be that "pages/StartingPoints.txt" is somehow very sensitive to how the server is booted. In the present case, a path such as "webapps/wiki/WEB-INF/classes/pages/StartingPoints.txt" would seem appropriate. It is not presently clear what is behind this issue, but simply moving /pages to where JAMWiki is looking for them solves the problem. Don't tell anybody I said that ;) -- Jack 12-Mar-2007 14:07 PDST

[Edit]counting problem on Category-page

Moved from the Feedback page:

Hi Ryan, if I view the Special:Categories page and click the 10 (10 items on one page) then I see 9 elements, even though I do have 11 Categories. Looks like the old Problem with counting from sero;-)

btw: the update worked fine. Michael Habbert 04-Jan-2007 06:50 PST
Glad to hear the update to 0.5.0 went smoothly - the upgrade code is difficult to test, so it's always good to get feedback. What database are you using (I know you've reported this before, but I'm lazy ;) )? There are some known problems with pagination when, for example, ten results are displayed per page and there are a total of 10, 20, 30, 40, etc results, but it doesn't sound like that's the problem you're running into. -- Ryan 04-Jan-2007 09:21 PST
Hi Ryan, Im using MySQL - 5.0.18 Michael Habbert 04-Jan-2007 13:03 PST
Hi Ryan, I think your are right and wrong;-).
Sicht: Vorherige 25 | Nächste 25  (Ergebnisse je Seite: 10 | 25 | 50 | 100 | 250 | 500)

   1. Dokumentation
   2. Weisheit
   3. Techik
   4. Netpioneer
   5. Finanzen
   6. Technik Datenbank
   7. Technik
   8. Suedendschule
   9. Beruf 
  10. Canoo Webtest
  11. PD Help

This is my Category-Page. You see, it looks like 11 entries but check 3 and 7 - my old Problem of a misspelled Category: Technik and Techik. I think the real number is in fact 10 and my Problem is in fact related to your '10 | 20 | etc problem' you mentioned already. And my Problem is still how to get rid of the Category 3 (named: Techik). -- Michael Habbert 07-Jan-2007 01:29 PST

Good catch! I'm still trying to figure out how to reproduce your problem with the "Technik" and "Techik" category - at the moment I'm not sure what would cause that issue, but this report may help narrow it down. I've got a handful of issues to investigate for the 0.5.1 release, so hopefully both the 10, 20, 30 issue and your phantom category issue will get fixed. Thanks for being patient! -- Ryan 07-Jan-2007 09:46 PST

[Edit]Default Virtual Wiki

I added a new virtual wiki (de) to my wiki and wanted this to make default redirect for http://www.myserver.com/jamwiki/ There is unfortunately no option for. It always redirects to the en version.

My suggestions:

  1. let me change my default wiki just like I want in Special:Maintanence for the default /jamwiki/ mapping
  2. let me set the default wiki loaded depending on browser locale (like wikipedia.org)
  3. let me set a new startpage which shows all wikis available like wikipedia.org does
  4. load en wiki if no other appropriate wiki is available
  5. opening a non existing wiki like /jamwiki/fd displays a regular tomcat 404 instead informing me that this virtual wiki does not exist!
This is definitely a feature that is needed - it has been requested before (see Roadmap#Rename Default Virtual Wiki) and will definitely appear in a future release, there just needs to be someone who has the time to implement it. Apologies for the inconveniences it's causing now. -- Ryan 21-Jun-2007 10:44 PDT
Ryan, sounds great. However, the roadmap refers to point 1 only. I hope the other 4 points are being taken into account too ( to some extent).

[Edit]Default Language Page

I just installed JAMWiki and en virtual wiki has been created automatically. What confused me that the en part has been loaded with german translation since my firefox is set to de_DE primary. I think this is false behavior becaause en implies that the person wants to have the entire site presented in english. Language settings should only be changed if the user does so in his account settings.

[Edit]INSTALL PROBLEMS

Moved from the Feedback page:

Hi there, I hope I'm posting this in the right place and I'm not missing something that is already documented but I am having a real issue installing JAMWiki. I'm a complete newbie (sorry). My system details are:

  • Windows XP
  • Tomcat 5.0.28
  • JDK 1.6.0
  • ORACLE 9.2

I download the jamiwiki-0.5.2.WAR file and place it in the webapps folder in my Tomcat directory. I then start the Tomcat service and the .war is made into a folder. I then navigate my browser (MSIE7) to http://localhost:8080/jamwiki and I am faced with the config screen. I then complete the details thus:

  • C:\Tomcat\Tomcat 5.0\webapps\jamwiki\WIKIFILES
  • External Database
  • oracle.jdbc.driver.OracleDriver
  • oracle
  • jdbc:oracle:thin:@192.9.200.55:1521:oracl
  • JAM
  • password
  • C:\Tomcat\Tomcat 5.0\webapps\jamwiki\DOCS
  • /DOCS/
  • administrator
  • password
  • password

I then click Save Changes and in red writing at the top of the screen I get a message saying: An unknown system error has occurred. The error message is: Failure while executing insert into jam_topic_version ( topic_version_id, topic_id, edit_comment, version_content, wiki_user_id, edit_type, wiki_user_ip_address, edit_date, previous_topic_version_id ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ). If I then continue with the installation I have to re-enter the administrator u/n and p/s then I get a warning stating that I am about install though there is already a JAMWiki set-up, I then click Continue Install and I am faced with what looks the the starting page of JAMWiki (though not loaded properly) and in edit mode. If I try to type something in and click Save I then get this message: An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ). I know there is an issue somewhere with the Oracle connection but I have no idea how to resolve it. If I go into the Oracle Enterprise Manage Console I can see that JAMWiki has created the schema though the tables are all empty. Do I need to give the user JAM any special system privileges other than those included in Connect and Resource roles? I hope I have given enough information for someone to help me? though if not PLEASE contact me at ben@lynxinfo.co.uk. Many thanks for reading my problem, Ben Sayers- 15-Mar-2007 14:41 GMT

Thanks, I'll take a look this weekend. Let me know if you have any other information you think might be relevant. -- Ryan 15-Mar-2007 22:31 PST

Hi Ryan, I can't think of anything that may help you but do not hesitate to e-mail me if you need any details at all. Many thanks for your time in looking in to this, Ben- 16-Mar-2007 12:48 GMT

Sorry, I haven't had a chance to look at this yet. One question though - which Oracle driver are you using? classes12.zip won't work - you need to use the ojdbc14.jar file to avoid a problem with CLOB support. Also, let me know if there are any messages in the logs that look relevant - the log file is configured from /WEB-INF/logging.properties. Last of all, there have been some problem reports when deploying the application from a WAR file, so you might try exploding the war file and deploying that way. Hopefully one of those will shed some light on the problem! -- Ryan 19-Mar-2007 21:37 PST

Where does the Oracle driver need to be installed? I have put ojdbc14.jar here: C:\oracle\ora92\jdbc\lib is this right? I have looked through the log file and don't seem to have any database errors. I will try another fresh install using an exploded version of the WAR file and I'll post what happens. Many thanks for your support, Ben- 20-Mar-2007 11:10 GMT

Hi Ben, you have to place the Oracle driver (ojdbc14.jar) in C:\Tomcat\Tomcat 5.0\common\lib. You will have to drop all the tables that were already created in your oracle server then do a fresh install again. Hope this helps. -- Kwee Tin 21-Mar-2007 17:56 PST

I already had the ojdbc14.jar in the right directory but it's good to know that it's in the right place. Ryan, How do I use the exploded version? I unzip it and place the folder/files that are created in the webapps folder and then how do I go about setting it up and seeing it in my browser? Many thanks for your continued help, Ben- 23-Mar-2007 09:46 GMT

Hi. I too have the exact same problem, I'm on WebSphere Application Server v6.0.21 + Oracle 9.2.0.8. Any update on this particular problem? My guess is that it has to do with the "exploded WAR" installation. I thought that by getting the first configuration screen the webapp was installed correctly. Any step-by-step instruction for installing the WAR file on WAS v6.0? Thx, Bruf- 22-Jul-2008 11:28 EST

[Edit]MORE INSTALL PROBLEMS

Moved from the Feedback page:

Hi, I am having an issue installing JAMWiki. I'm a complete newbie (imagine that). My system details are:

  • Fedora Core release 6 (Zod)
  • apache-tomcat-6.0.13
  • Java 1.5.0_06-b05
  • embedded version of the HSQL database

I downloaded the latest revision 1520 using svn. Built it, started tomcat, and deployed the war to tomcat. navigated to http://localhost:8080/jamwiki-0.6.0 and ended up at http://localhost:8080/jamwiki-0.6.0/en/Special:Setup

So far so good. Here is the config info i entered:

  • /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw
  • Internal Database
  • org.hsqldb.jdbcDriver
  • hsql
  • jdbc:hsqldb:file:/full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw/database/jamwiki
  • sa
  • /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw_files
  • /jw_files/.
  • jamwiki
  • jamwiki
  • jamwiki

I then click Save Changes and I got the following red letter error: A connection could not be established with the database; please re-check the settings: Cannot get a connection, pool error: Could not create a validated object, cause: ValidateObject failed

And the following error from the /full/path/to/apache-tomcat-6.0.13/temp/jamwiki.log.0 file:

2007-07-08 01:58:14,063 CONFIG: org.jamwiki.Environment - Loading properties from /home/vds/downloads/apache-tomcat-6.0.13/webapps/jamwiki-0.6.0/WEB-INF/classes/sql.ansi.properties 2007-07-08 01:58:18,318 SEVERE: org.jamwiki.utils.Utilities - Invalid database settings org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error: Could not create a validated object, cause: ValidateObject failed at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:184) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:193) at org.jamwiki.db.DatabaseConnection.setUpConnectionPool(DatabaseConnection.java:315) at org.jamwiki.db.DatabaseConnection.testDatabase(DatabaseConnection.java:334) at org.jamwiki.utils.Utilities.validateSystemSettings(Utilities.java:1236) at org.jamwiki.servlets.SetupServlet.validate(SetupServlet.java:199) at org.jamwiki.servlets.SetupServlet.initialize(SetupServlet.java:120)

If anyone can help me understand what I've done wrong, it would be greatly appreciated.

Just to confirm, the "File-system directory" that you specified is a directory that already exists on your system, and the permissions are such that the JAMWiki install will be able to create files and directories within it? If the file exists and permissions are OK it's possible that there's some other security issue - I was surprised during a recent install on the latest Debian by some additional permissions that had to be updated before new webapps could be installed - I ended up making significant modifications to my catalina.policy file that can be found within the Tomcat install directory. If that is the problem you're facing you may want to google for "java.security.AllPermission" and "Tomcat". Hope that helps! -- Ryan 07-Jul-2007 23:10 PDT

Ok, I tried adding the following to my catalina.policy file:

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0.war" {
  permission java.security.AllPermission;
};

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0/WEB-INF/lib/-" {
  permission java.security.AllPermission;
};

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0/WEB-INF/lib/commons-dbcp-1.2.2.jar" {
  permission java.security.AllPermission;
};

Still getting the same error :-/ I'm clueless.

I'm not sure if this would help, but here are a few sample entries I would use for an internal-database setup:
File-system directory
/home/wrh2/wiki/ - Note, make sure this directory exists and that permissions are set so that the installer can write to it (777 if you want to be completely sure)
Persistence
Internal database
File upload directory
path-to-webapp/files/ - Note that this directory should already be created when the install is started.
Relative path from web server root to file upload directory
webapp-name/files/
Not sure if that will help - sorry for all of the trouble! I swear installs are usually a very simple process! -- Ryan 08-Jul-2007 10:45 PDT

Well, ok, I tried chmod 0777 on both the File-system directory and the upload dir. And I know they are there before I hit any jsps. My File-system directory is /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw

And we know that the app can write into it ... here are the files that it has written so far :

$ ls -l jw/database/
total 32
-rw-rw-r-- 1 vds vds  16 Jul  8 16:47 jamwiki.lck
-rw-rw-r-- 1 vds vds 153 Jul  8 16:46 jamwiki.log
-rw-rw-r-- 1 vds vds 419 Jul  8 16:27 jamwiki.properties
-rw-rw-r-- 1 vds vds 101 Jul  8 16:27 jamwiki.script

I then tried changing to -R 777 permissions on the sub directory /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw/database that it created ... still getting the same error shown above.

And I can see I'm getting a NoSuchElementException when the db connection pool executes the pool.borrowObject() method. The trace shows it near the bottom as follows:

Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:871) at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:176) ... 54 more

Thanks for the help so far ... maybe I should just try an use an external DB ... Anymore advice would be appreciated?

I'm out of ideas. If anyone else has run into this issue perhaps they can contribute, but when it comes to catalina.policy issues (assuming that's what this is) I'm pretty clueless about what needs to be done. Sorry! -- Ryan 08-Jul-2007 18:34 PDT

I went ahead and posted this issue on the apache common mailing list for dbcp to see if anyone there can help me with this issue: click here to go to the mailing list archive of this issue

Maybe some folks more familiar with the apis throwing the exception know what this is :-/

Phil, over on the commons-user list, gave the following comment. It appears quite insightful, but I'm not smart enough to make use of his comment:

Looks like you have the pool configured to validate objects when they

are borrowed (testOnBorrow = true) and the validation is failing. This appears to be configured in the setupConnectionPool method here: in the source code of jamwiki Most likely the validation query is incorrect or failing to return at least one row.

hth, Phil

I can confirm that the validation query is correct. It's likely that it's failing to return a row, but that would probably be due to a setup problem of some sort. Again, I'm suspicious of the Fedora security implementation and suspect that some permission needs to be enabled, but I'm at a loss to say what permission is needed. -- Ryan 09-Jul-2007 09:11 PDT

Well, I just got it installed ... sigh ... why is life so difficult? Here is what I did to "fix" the issue.

  1. I compiled my own commons-pool and commons-dbcp jar files
  2. stuck them into the lib directory of jamwiki
  3. moved the old ones out of the way
  4. built a new jamwiki war file
  5. undeployed the old war from tomcat
  6. restarted tomcat
  7. deployed the new jamwiki war.

I went thru the exact same steps outlined above with the setup jsp, and this time got "further" along than the last. It failed when trying to insert a new role :-/, but it got past all of the create steps. Then I remembered that I had set export CATALINA_OPTS=-Djava.security.debug=all in order to try to figure out the "security" issue I was having before, and that was throwing _lots_ of spew into the catalina.log which I felt might be masking an error that I cared about, so I ...

  1. shutdown tomcat again
  2. unset CATALINA_OPTS
  3. restarted tomcat again.

Then I went throught the exact same steps above with the setup jsp for jamwiki, and this time I got the warning that I should UPGRADE if I was upgrading, and to only hit continue if I wanted to continue with this new install because a database had already been created, so I hit continue, and got the edit page for the topic startingPoints ... yay!

Anyway ... it's very unclear to me what the actual problem was earlier. I did not change any permissions at all. Although I did add the "grant" statements noted above to the catalina.policy file, but it was still failing with that until I compiled my own pool and dbcp jars :-/ Makes no sense to me.

Now I am getting the following error: Error A system error has occurred. The error message is: An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ).

Not sure why ... but it's: Caused by: java.sql.SQLException: Integrity constraint violation - no parent JAM_FK_TOPIC_VWIKI table: JAM_VIRTUAL_WIKI in statement [insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )]

If anyone understands this issue, let me know ... thanks.

[Edit]More bugs

Hi Ryan, I have summarized some of the bugs i found.
  • While editing null text validation is not done properly. It does accepts null text in all editing.
  • I am using JAMWiki with an external database(MSSQL) and JBoss(4.0.5GA) and jtds driver. The problem i have is during setup. After filling the fields required for external dbconnection and click setup, it goes halfway and stops, later the page cannot be displayed message is seen. Also the dbconnection is working fine with initial setup, configured with local db and then again configuring to external db using admin login. For that the data in the hsql db must be loaded into the external db(here mssql).
  • The all users link is throwing error while using external database.Below is the error.

An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing BEGIN DECLARE @COUNT int DECLARE @TOP int DECLARE @OFFSET int DECLARE @LIMIT int DECLARE @SQL varchar(300) SET @LIMIT = ? SET @OFFSET = ? SET @TOP = @LIMIT SET @COUNT = (select count(*) from jam_wiki_user_info) IF (@OFFSET > @COUNT) SET @OFFSET = @COUNT IF (@COUNT < @OFFSET + @LIMIT) SET @TOP = @COUNT - @OFFSET SET @SQL = 'select * from ( ' + 'select top '+CONVERT(VARCHAR, @TOP)+' * from ( ' + 'select top '+CONVERT(VARCHAR, @OFFSET + @LIMIT)+' login ' + 'from jam_wiki_user_info + 'order by login ' + ') a ' + 'order by login desc ' + ') b ' + ' order by login ' EXEC(@SQL) END.

  • Deleting topics is handled by passive deletion. After deletion of a particular topic, if user wants to re-create the same topic again, following error is thrown.

An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ).

  • LDAP authentication is not working properly.(Anyone who have used LDAP in JAMWiki help me!!!)
  • Anonymous users are able to upload file upon which restriction must be posed.

(Note: I have tried 0.6.0 beta2 release also. In that too i deselected the ROLE_UPLOAD for anonymous users. But still anonymously file is being uploaded.)

  • Regarding DB2 database, it does not support constraint and index names greater than 18 characters. Some of the constraint is more than the specified length.

Hope u would look into these issues before the final release.

--yesesnono 20-Aug-2007 02:52 PDT

Thanks for the report - I'll definitely look through each of these later tonight. If there are any log messages related to the setup issue that you can provide it would be a big help. As to the LDAP issue, the current implementation is very basic (I just installed OpenLDAP and made sure I could connect/authenticate) so I may need to wait until someone with an actual LDAP setup is able to update the implementation. The rest of your issues are things that I think can be addressed, so hopefully a beta3 can be prepared soon that addresses them, with a final release to follow shortly after that. Thanks again for the detailed report! -- Ryan 20-Aug-2007 09:17 PDT
Some responses:
  1. It should be OK to edit a topic and remove all content - this saves an empty string as the topic content. I know that Oracle converts empty string to null values, which caused problems in earlier JAMWiki versions. Is that same problem occurring with another database?
  2. Please let me know any message from the logs - I don't have a DB2 or MSSQL database to test with, so it is possible a setup bug has been introduced that affects on of those databases.
  3. This error is definitely specific to MS SQL - I didn't have a chance to investigate further yet, but if there are any additional errors in the logs they might contain additional detail. If not I suspect it will be possible to address the issue after looking more closely at the code.
  4. Again, I suspect that this might be database-specific as I haven't seen it before using Oracle, Postgres, HSQL or MySQL. Was this error seen with MS SQL or DB2?
  5. See the comment above about LDAP - I'll need help to get that working, so anyone willing to write code or act as a guineau pig, speak up!
  6. AWESOME catch on the permission issue. It turns out that the new code would add new permissions for anonymous users, but did not remove them without a restart or the expiration of some cached objects. revision 1800 should fix the problem.
  7. Unless someone else does it first I'll go through the /WEB-INF/classes/db2.properties file and trim constraint names within the next few days - I may be busy tomorrow night, but hopefully by Wednesday or Thursday.
Thanks again for the thorough bug reports - there aren't a lot of people that use DB2 or MS SQL with JAMWiki, so unfortunately those databases are likely to be a bit buggier than others. -- Ryan 20-Aug-2007 23:19 PDT

Hi Ryan,

  • There is no bug occuring in database due to null text in MSSQL or DB2 but it is still saved as an empty content.
  • Below is the log occured while trying to connect directly to the external DB(MSSQL) during set up.
Server Log:
2007-08-22 19:42:34,212 INFO  [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 1m:1s:736ms
2007-08-22 19:43:38,509 ERROR [STDERR] Aug 22, 2007 7:43:38 PM org.jamwiki.utils.WikiLogger warning
WARNING: Property file C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\jamwiki.properties does not exist
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] Candidate is: '/en/Special:Setup'; pattern is /**; matched=true
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpSessionContextIntegrationFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'logoutFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'authenticationProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'rememberMeProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'anonymousProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'exceptionTranslationFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'filterInvocationInterceptor'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 1 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.context.HttpSessionContextIntegrationFilter@12abadc'

2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] No HttpSession currently exists - new SecurityContext instance associated with SecurityContextHolder
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 2 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiLogoutFilter@162bd90'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 3 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiAuthenticationProcessingFilter@18b41da'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 4 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.rememberme.RememberMeProcessingFilter@1908558'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 5 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.providers.anonymous.AnonymousProcessingFilter@1226fe1'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.providers.anonymous.AnonymousProcessingFilter] Populated SecurityContextHolder with anonymous token: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 6 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.ExceptionTranslationFilter@1df2ecc'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 7 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.intercept.web.FilterSecurityInterceptor@179688d'
2007-08-22 19:43:38,540 DEBUG [org.acegisecurity.intercept.AbstractSecurityInterceptor] Public object - authentication not attempted
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: org.acegisecurity.event.authorization.PublicInvocationEvent[source=FilterInvocation: URL: /en/Special:Setup]
2007-08-22 19:43:38,540 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup reached end of additional filter chain; proceeding with original chain
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler map [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@3f983f] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] Looking up handler for [/Special:Setup]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Last-Modified value for [/JAMWiki/en/Special:Setup] is [-1]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'jamwiki' received request for [/JAMWiki/en/Special:Setup]
2007-08-22 19:43:38,556 DEBUG [org.springframework.web.servlet.DispatcherServlet] Bound request context to thread: org.apache.catalina.connector.RequestFacade@17dc299
2007-08-22 19:43:38,587 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:43:38,587 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:43:38,712 ERROR [STDERR] Aug 22, 2007 7:43:38 PM org.jamwiki.utils.WikiLogger info
INFO: Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.InternalResourceViewResolver] Cached view [setup]
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.DispatcherServlet] Rendering view [org.springframework.web.servlet.view.JstlView: name 'setup'; URL [/WEB-INF/jsp/setup.jsp]] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.JstlView] Rendering view with name 'setup' with model {dataHandlers=[org.jamwiki.model.WikiConfigurationObject@a06577, org.jamwiki.model.WikiConfigurationObject@65a686, org.jamwiki.model.WikiConfigurationObject@197c457, org.jamwiki.model.WikiConfigurationObject@db38e1, org.jamwiki.model.WikiConfigurationObject@7359f7, org.jamwiki.model.WikiConfigurationObject@1176e8a, org.jamwiki.model.WikiConfigurationObject@15a4247, org.jamwiki.model.WikiConfigurationObject@b57646]} and static attributes {}
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.JstlView] Added model object 'dataHandlers' of type [java.util.Vector] to request in view with name 'setup'
2007-08-22 19:43:39,087 DEBUG [org.jboss.web.tomcat.tc5.jasper.TagLibCache] Scanning for tlds in: file:/C:/Program Files/jboss-4.0.5.GA/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs/myfaces-impl.jar
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.view.JstlView] Forwarded to resource [/WEB-INF/jsp/setup.jsp] in InternalResourceView 'setup'
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.DispatcherServlet] Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@17dc299
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@17aaeec]: ServletRequestHandledEvent: url=[/JAMWiki/en/Special:Setup]; client=[127.0.0.1]; method=[GET]; servlet=[jamwiki]; session=[7A4B4C089FADFDB5A9F7494307ACB5BF]; user=[null]; time=[5172ms]; status=[OK]
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: ServletRequestHandledEvent: url=[/JAMWiki/en/Special:Setup]; client=[127.0.0.1]; method=[GET]; servlet=[jamwiki]; session=[7A4B4C089FADFDB5A9F7494307ACB5BF]; user=[null]; time=[5172ms]; status=[OK]
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.ui.ExceptionTranslationFilter] Chain processed normally
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] SecurityContext stored to HttpSession: 'org.acegisecurity.context.SecurityContextImpl@9055e4a6: Authentication: org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] SecurityContextHolder set to new context, as request processing completed
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] Candidate is: '/en/Special:Setup'; pattern is /**; matched=true
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpSessionContextIntegrationFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'logoutFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'authenticationProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'rememberMeProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'anonymousProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'exceptionTranslationFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'filterInvocationInterceptor'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 1 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.context.HttpSessionContextIntegrationFilter@12abadc'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] Obtained from ACEGI_SECURITY_CONTEXT a valid SecurityContext and set to SecurityContextHolder: 'org.acegisecurity.context.SecurityContextImpl@9055e4a6: Authentication: org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 2 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiLogoutFilter@162bd90'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 3 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiAuthenticationProcessingFilter@18b41da'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 4 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.rememberme.RememberMeProcessingFilter@1908558'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.ui.rememberme.RememberMeProcessingFilter] SecurityContextHolder not populated with remember-me token, as it already contained: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 5 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.providers.anonymous.AnonymousProcessingFilter@1226fe1'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.providers.anonymous.AnonymousProcessingFilter] SecurityContextHolder not populated with anonymous token, as it already contained: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 6 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.ExceptionTranslationFilter@1df2ecc'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 7 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.intercept.web.FilterSecurityInterceptor@179688d'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.intercept.AbstractSecurityInterceptor] Public object - authentication not attempted
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: org.acegisecurity.event.authorization.PublicInvocationEvent[source=FilterInvocation: URL: /en/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup reached end of additional filter chain; proceeding with original chain
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'jamwiki' received request for [/JAMWiki/en/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Bound request context to thread: org.apache.catalina.connector.RequestFacade@3002b9
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler map [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@3f983f] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] Looking up handler for [/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.DiskStoreConfiguration] Disk Store Path: F:\Softwares\JAMWikiFiles\cache
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CacheManagerEventListenerFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerListenerFactoryConfiguration specified. Not configuring a CacheManagerPeerListener.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerProviderFactoryConfiguration specified. Not configuring a CacheManagerPeerProvider.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No BootstrapCacheLoaderFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.DiskStoreConfiguration] Disk Store Path: F:\Softwares\JAMWikiFiles\cache
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CacheManagerEventListenerFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerListenerFactoryConfiguration specified. Not configuring a CacheManagerPeerListener.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerProviderFactoryConfiguration specified. Not configuring a CacheManagerPeerProvider.
2007-08-22 19:47:36,622 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No BootstrapCacheLoaderFactory class specified. Skipping...
2007-08-22 19:47:36,684 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_virtual_wiki ( virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, default_topic_name VARCHAR(200) NOT NULL, create_date DATETIME DEFAULT GETDATE() NOT NULL, CONSTRAINT jam_pk_vwiki PRIMARY KEY (virtual_wiki_id), CONSTRAINT jam_unique_vwiki_name UNIQUE (virtual_wiki_name) )
2007-08-22 19:47:36,700 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_wiki_user ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, display_name VARCHAR(100), create_date DATETIME DEFAULT GETDATE() NOT NULL, last_login_date DATETIME DEFAULT GETDATE() NOT NULL, create_ip_address VARCHAR(15) NOT NULL, last_login_ip_address VARCHAR(15) NOT NULL, is_admin INTEGER DEFAULT 0 NOT NULL, remember_key VARCHAR(100) NOT NULL, default_locale VARCHAR(8), CONSTRAINT jam_pk_wiki_user PRIMARY KEY (wiki_user_id) )
2007-08-22 19:47:36,700 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_wiki_user_info ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, email VARCHAR(100), first_name VARCHAR(100), last_name VARCHAR(100), encoded_password VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_wiki_uinfo PRIMARY KEY (wiki_user_id), CONSTRAINT jam_fk_wiki_uinfo_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_wiki_uinfo_login UNIQUE (login) )
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (login)
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_topic ( topic_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, delete_date DATETIME, topic_read_only INTEGER DEFAULT 0 NOT NULL, topic_admin_only INTEGER DEFAULT 0 NOT NULL, current_version_id INTEGER, topic_type INTEGER NOT NULL, redirect_to VARCHAR(200), CONSTRAINT jam_pk_topic PRIMARY KEY (topic_id), CONSTRAINT jam_fk_topic_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id) )
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_topic_version ( topic_version_id INTEGER NOT NULL, topic_id INTEGER NOT NULL, edit_comment VARCHAR(200), version_content TEXT, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_type INTEGER NOT NULL, previous_topic_version_id INTEGER, CONSTRAINT jam_pk_topic_ver PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_topic_ver_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_topic_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_topic_ver_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id) ) 
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: ALTER TABLE jam_topic add constraint jam_fk_topic_topic_ver FOREIGN KEY (current_version_id) REFERENCES jam_topic_version(topic_version_id) 
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_file ( file_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, file_name VARCHAR(200) NOT NULL, delete_date DATETIME, file_read_only INTEGER DEFAULT 0 NOT NULL, file_admin_only INTEGER 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) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: 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, upload_date DATETIME DEFAULT GETDATE() 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) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_category ( child_topic_id INTEGER NOT NULL, category_name VARCHAR(200) NOT NULL, sort_key VARCHAR(200), CONSTRAINT jam_pk_category PRIMARY KEY (child_topic_id, category_name), CONSTRAINT jam_fk_category_child_id FOREIGN KEY (child_topic_id) REFERENCES jam_topic(topic_id) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_recent_change ( topic_version_id INTEGER NOT NULL, previous_topic_version_id INTEGER, topic_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_comment VARCHAR(200), wiki_user_id INTEGER, display_name VARCHAR(200) NOT NULL, edit_type INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_rchange PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_rchange_topic_ver FOREIGN KEY (topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_rchange_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_rchange_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_watchlist ( wiki_user_id INTEGER NOT NULL, topic_name VARCHAR(200), virtual_wiki_id INTEGER NOT NULL, CONSTRAINT jam_pk_watchlist PRIMARY KEY (wiki_user_id, topic_name, virtual_wiki_id), CONSTRAINT jam_fk_watchlist_user_id FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_watchlist_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.DiskStore] Deleting data file org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI.data
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.MemoryStore] Initialized net.sf.ehcache.store.LruMemoryStore for org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.LruMemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI Cache: Using SpoolingLinkedHashMap implementation
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.Cache] Initialised cache: org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: Cannot remove entry as key en was not found
2007-08-22 19:47:36,794 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: Cannot remove entry as key 1 was not found
2007-08-22 19:47:36,794 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Setting up special page en / StartingPoints
2007-08-22 19:47:36,809 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: File pages\en_US\StartingPoints.txt does not exist
2007-08-22 19:47:36,809 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: File pages\en\StartingPoints.txt does not exist
2007-08-22 19:49:55,514 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
2007-08-22 19:52:32,032 INFO  [STDOUT] 19:52:32,032 WARN  [PingQueueProcessor] WARNING: Skipping current ping queue processing round because we cannot yet determine the site's absolute context url.
2007-08-22 19:57:25,520 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
2007-08-22 19:57:32,036 INFO  [STDOUT] 19:57:32,036 WARN  [PingQueueProcessor] WARNING: Skipping current ping queue processing round because we cannot yet determine the site's absolute context url.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI is persistent. Spooling 2 elements to the disk store.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,413 INFO  [org.jboss.system.server.Server] Runtime shutdown hook called, forceHalt: true
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: spool to disk done for: 1
2007-08-22 20:00:10,413 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data
2007-08-22 20:00:10,413 DEBUG [org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread] Notified to shutdown
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: spool to disk done for: en
2007-08-22 20:00:10,413 INFO  [org.jboss.system.server.Server] JBoss SHUTDOWN: Undeploying all packages
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI.data
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,428 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data

Wiki Log:

2007-08-22 19:42:21,055 CONFIG: org.jamwiki.utils.WikiLogger - JAMWiki log initialized from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\logging.properties with pattern %t/jamwiki.log.%g
2007-08-22 19:42:21,321 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\jamwiki.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.hsql.properties
2007-08-22 19:43:38,494 WARNING: org.jamwiki.Environment - Property file C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\jamwiki.properties does not exist
2007-08-22 19:43:38,712 INFO: org.jamwiki.servlets.JAMWikiServlet - Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:43:38,712 INFO: org.jamwiki.servlets.JAMWikiServlet - Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,544 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.mssql.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.mssql.properties
2007-08-22 19:47:36,684 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_virtual_wiki ( virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, default_topic_name VARCHAR(200) NOT NULL, create_date DATETIME DEFAULT GETDATE() NOT NULL, CONSTRAINT jam_pk_vwiki PRIMARY KEY (virtual_wiki_id), CONSTRAINT jam_unique_vwiki_name UNIQUE (virtual_wiki_name) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_wiki_user ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, display_name VARCHAR(100), create_date DATETIME DEFAULT GETDATE() NOT NULL, last_login_date DATETIME DEFAULT GETDATE() NOT NULL, create_ip_address VARCHAR(15) NOT NULL, last_login_ip_address VARCHAR(15) NOT NULL, is_admin INTEGER DEFAULT 0 NOT NULL, remember_key VARCHAR(100) NOT NULL, default_locale VARCHAR(8), CONSTRAINT jam_pk_wiki_user PRIMARY KEY (wiki_user_id) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_wiki_user_info ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, email VARCHAR(100), first_name VARCHAR(100), last_name VARCHAR(100), encoded_password VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_wiki_uinfo PRIMARY KEY (wiki_user_id), CONSTRAINT jam_fk_wiki_uinfo_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_wiki_uinfo_login UNIQUE (login) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (login)
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_topic ( topic_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, delete_date DATETIME, topic_read_only INTEGER DEFAULT 0 NOT NULL, topic_admin_only INTEGER DEFAULT 0 NOT NULL, current_version_id INTEGER, topic_type INTEGER NOT NULL, redirect_to VARCHAR(200), CONSTRAINT jam_pk_topic PRIMARY KEY (topic_id), CONSTRAINT jam_fk_topic_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id) )
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_topic_version ( topic_version_id INTEGER NOT NULL, topic_id INTEGER NOT NULL, edit_comment VARCHAR(200), version_content TEXT, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_type INTEGER NOT NULL, previous_topic_version_id INTEGER, CONSTRAINT jam_pk_topic_ver PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_topic_ver_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_topic_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_topic_ver_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id) ) 
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: ALTER TABLE jam_topic add constraint jam_fk_topic_topic_ver FOREIGN KEY (current_version_id) REFERENCES jam_topic_version(topic_version_id) 
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_file ( file_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, file_name VARCHAR(200) NOT NULL, delete_date DATETIME, file_read_only INTEGER DEFAULT 0 NOT NULL, file_admin_only INTEGER 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) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: 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, upload_date DATETIME DEFAULT GETDATE() 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) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_category ( child_topic_id INTEGER NOT NULL, category_name VARCHAR(200) NOT NULL, sort_key VARCHAR(200), CONSTRAINT jam_pk_category PRIMARY KEY (child_topic_id, category_name), CONSTRAINT jam_fk_category_child_id FOREIGN KEY (child_topic_id) REFERENCES jam_topic(topic_id) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_recent_change ( topic_version_id INTEGER NOT NULL, previous_topic_version_id INTEGER, topic_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_comment VARCHAR(200), wiki_user_id INTEGER, display_name VARCHAR(200) NOT NULL, edit_type INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_rchange PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_rchange_topic_ver FOREIGN KEY (topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_rchange_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_rchange_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_watchlist ( wiki_user_id INTEGER NOT NULL, topic_name VARCHAR(200), virtual_wiki_id INTEGER NOT NULL, CONSTRAINT jam_pk_watchlist PRIMARY KEY (wiki_user_id, topic_name, virtual_wiki_id), CONSTRAINT jam_fk_watchlist_user_id FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_watchlist_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,794 INFO: org.jamwiki.db.WikiDatabase - Setting up special page en / StartingPoints
2007-08-22 19:47:36,809 INFO: org.jamwiki.utils.Utilities - File pages\en_US\StartingPoints.txt does not exist
2007-08-22 19:47:36,809 INFO: org.jamwiki.utils.Utilities - File pages\en\StartingPoints.txt does not exist
2007-08-22 19:47:37,090 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\interwiki.properties
  • All users link
Log
2007-08-22 20:48:35,101 SEVERE: org.jamwiki.servlets.ServletUtil - Servlet error
java.lang.Exception: Failure while executing BEGIN DECLARE @COUNT int DECLARE @TOP int DECLARE @OFFSET int DECLARE @LIMIT int DECLARE @SQL varchar(300) SET @LIMIT = ? SET @OFFSET = ? SET @TOP = @LIMIT SET @COUNT = (select count(*) from jam_wiki_user_info) IF (@OFFSET > @COUNT) SET @OFFSET = @COUNT IF (@COUNT < @OFFSET + @LIMIT) SET @TOP = @COUNT - @OFFSET SET @SQL = 'select * from ( ' + 'select top '+CONVERT(VARCHAR, @TOP)+' * from ( ' + 'select top '+CONVERT(VARCHAR, @OFFSET + @LIMIT)+' login ' + 'from jam_wiki_user_info + 'order by login ' + ') a ' + 'order by login desc ' + ') b ' + ' order by login ' EXEC(@SQL) END
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:84)
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:61)
	at org.jamwiki.db.AnsiQueryHandler.lookupWikiUsers(AnsiQueryHandler.java:771)
	at org.jamwiki.db.AnsiDataHandler.lookupWikiUsers(AnsiDataHandler.java:986)
	at org.jamwiki.servlets.ItemsServlet.viewUsers(ItemsServlet.java:86)
	at org.jamwiki.servlets.ItemsServlet.handleJAMWikiRequest(ItemsServlet.java:57)
	at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:774)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:460)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:415)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
''trimmed''
Caused by: java.sql.SQLException: Invalid SQL statement or JDBC escape, terminating ''' not found.
	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:1155)
	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:156)
	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.<init>(JtdsPreparedStatement.java:104)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2221)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2179)
	at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:248)
	at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.prepareStatement(PoolingDriver.java:367)
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:74)
	... 56 more
  • Trying to re-create a topic that has been deleted:
Log:
2007-08-22 20:41:48,549 SEVERE: org.jamwiki.servlets.ServletUtil - Servlet error
java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )
	at org.jamwiki.db.WikiPreparedStatement.executeUpdate(WikiPreparedStatement.java:119)
	at org.jamwiki.db.AnsiQueryHandler.insertTopic(AnsiQueryHandler.java:509)
	at org.jamwiki.db.AnsiDataHandler.addTopic(AnsiDataHandler.java:91)
	at org.jamwiki.db.AnsiDataHandler.writeTopic(AnsiDataHandler.java:1229)
	at org.jamwiki.servlets.EditServlet.save(EditServlet.java:330)
	at org.jamwiki.servlets.EditServlet.handleJAMWikiRequest(EditServlet.java:59)
	at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
''trimmed''
Caused by: java.sql.SQLException: Violation of UNIQUE KEY constraint 'jam_unique_topic_name_vwiki'. Cannot insert duplicate key in object 'jam_topic'.
	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:628)
	at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:421)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
	at org.jamwiki.db.WikiPreparedStatement.executeUpdate(WikiPreparedStatement.java:111)
	... 56 more
  • It doesn't so far cause any problem by editing the constraint names in DB2 as i am using like that.
Sorry for sending the logs like this. I am running out of time thats why. Kindly bear with it. Thank you for your response.
Thanks! The information you've provided is extremely helpful. I should have some time tonight to investigate, so hopefully these can get fixed soon. Again, thank you very much for the detailed bug reports. -- Ryan 22-Aug-2007 09:09 PDT
Here's the status:
  1. Empty topic content should be OK as that's the same behavior as what is allowed by Mediawiki. Provided there aren't any bugs generated then I think this one is OK for the 0.6.0 release.
  2. I'm still looking into the setup issue.
  3. The Special:Listusers issue should be fixed by revision 1803.
  4. The failure re-creating previously deleted topics should be fixed by revision 1804. Existing MS SQL setups will need to modify the jam_unique_topic_name_vwiki constraint on the jam_topic table as follows: CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id, delete_date).
  5. LDAP will probably remain problematic for the 0.6.0 release. Hopefully it can be improved in a future release.
  6. revision 1800 should fix the anonymous upload issue.
  7. I still need to update the constraint name lengths for DB2.
I'll keep plugging away at these a bit longer, although I'm only capable of staring at code for about 18 hours a day :) -- Ryan 22-Aug-2007 21:57 PDT
Hi Ryan,
  • Yes that's OK with empty content.
  • During the setup first it goes to the ANSI query handler properties file. Also it creates the cache folder in the file system directory and it have one ansi cache file with no data. So what I am doing to connect it to MSSQL(or DB2) is first do the setup with internal database, and I use the log it creates while setup for creating the tables and inserting the data in the external db by modifying the syntax according to the DB. After that in the configuration tab, in the persistence settings i provide all the required values and save it. From then it works fine with the external DB.
  • I'll try the modification to be done for handling the deleted topics.
  • I am now working on the LDAP code too. Once it is through i hope it may be of some help to you.
Thank you. --yesesnono 24-Aug-2007 13:13 PDT
Just to clarify, why is the additional step of choosing "internal database" and then converting to "MS SQL" necessary, as opposed to just selecting the "MS SQL" database type from the setup screen? I don't have access to either an MS SQL database or DB2 database to test with, but I think that there were success reports with both databases during past JAMWiki releases. I'm still trying to understand the problem, so apologies for all of the questions.
Regarding LDAP, the original implementation was done prior to using Acegi with JAMWiki, so if that's something that interests you then you may want to look at the Acegi LDAP support. I'd like to let Acegi handle as much as possible, so an implementationg that utilized the Acegi LDAP framework would be best.
I'm planning on spending a good deal of time on JAMWiki this weekend, so hopefully there will be a new beta by Sunday at the latest that addresses the remaining problems. -- Ryan 24-Aug-2007 13:28 PDT
I've installed JBoss, but the documentation is apparently behind a Redhat login screen so I've only been able to do some basic testing. I'm able to install the latest JAMWiki code in both internal database mode and external database mode using MySQL, but since the WAR file is not deployed as an exploded war then JBoss loses the property configuration information after restarting. Installing as an exploded WAR should resolve that issue.
I'd be willing to continue looking into the problem, but at this point I don't want to hold up the final 0.6.0 release much longer, so I'll probably defer to someone who knows JBoss better to say how best to address any problems. Hopefully that sounds reasonable! -- Ryan 26-Aug-2007 20:07 PDT
Regarding the DB2 18 character index name limit, having looked at the SQL there are a LOT of indexes that exceed 18 characters in length. I think the best way to address that problem is to update the ANSI SQL file to limit all index names to 18 characters - doing so limits the amount of SQL that will be different for DB2; however, since that affects all databases I'd like to make sure it goes through thorough testing, so I think it would be best to delay the change until 0.6.1. Hopefully that won't cause too much inconvenience. -- Ryan 26-Aug-2007 21:22 PDT
  • The additional step of choosing internal first and then going for MS SQL is because if we choose the external database first using MS SQL, the setup could not be completed. It just stops half way and a page cannot be displayed is seen in the browser. The log is already provided before.
  • I could not figure out why the external database connection could not be established at the configuration time.
  • JAMWiki is deployed in exploded form only in the JBoss. It retains the properties as such. No problem in that. --yesesnono 29-Aug-2007 03:35 PDT
revision 1827 trims all SQL constraint names to less than 18 characters, which should hopefully resolve the DB2 issues. I don't have a DB2 database to test with, so any confirmation about whether or not this solves the problem would be greatly appreciated! -- Ryan 04-Sep-2007 23:22 PDT
There was a comment added about the Special:Listusers page still not working with MS SQL that was later removed. Is that page still broken in 0.6.0? I'm hoping that issue is resolved, but if not I'll continue to investigate. Thanks! -- Ryan 09-Sep-2007 22:32 PDT

Hi Ryan,

Here are another set of issues for your reference.
  • Regarding the Listusers Page in MSSQL, it is working fine.
  • Setup issue is yet to be resolved.
DB2 Issues
  • The trimmed constraints are replaced as such. No problem with the constraint names.
  • DB2 doesn't allow null values in the unique constraints. So the follwing modifications are required. But it affects the constraints
    • In jam_topic table, delete_date is removed from the unique constraint jam_u_topic_name. Since delete_date can contain null values it is not allowed to be a column in the unique key.
    • In jam_role_map table,the unique constraint jam_u_rmap is removed for the similar reason.
    • In jam_watchlist table, topic name has been made as not null.
  • Apart from this, the recent changes and history link are throwing error in DB2.
Recent changes(Error):
   An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing select * from ( select *, rownumber() over (order by edit_date desc) as rownum from jam_recent_change where virtual_wiki_name = ? ) as jam_recent_change where rownum > ? and rownum <= ? order by rownum .
History(Error):
  An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing select * from ( select *, rownumber() over (order by edit_date desc) as rownum from jam_recent_change where topic_id = ? order by edit_date desc ) as jam_recent_change where rownum > ? and rownum <= ? order by rownum .

--yesesnono 18-Sep-2007 05:23 PDT

Thanks for continuing to provide these updates. I'll need to give some thought to how to work around the "no null values in primary keys" restriction, since that's how JAMWiki allows topics to be deleted and undeleted. It looks like I may be able to download a trial copy of DB2 from this site, and if that works hopefully the remainder of the issues can be quickly resolved. I'm extremely busy for the next week, but with luck will be able to try it out in the next two weeks. -- Ryan 18-Sep-2007 21:34 PDT
I finally got around to trying to install DB2, and it won't install on Windows XP (requires XP professional). I'll continue trying to make updates based on your reports (which are very helpful, thanks!), but obviously that approach will take a bit longer, so full DB2 support may not be possible for the next release. -- Ryan 29-Sep-2007 10:25 PDT

[Edit]0.6.0 Upgrade Issues

  1. When a "Remember Me" cookie is set the upgrade process can fail with the message "You do not have permission to access Special:Upgrade". Clearing cookies fixes the problem.
  2. After upgrading today with Oracle the system was not using the correct SQL file - restarting Tomcat resolved the issue.

-- Ryan 30-Aug-2007 09:44 PDT

I've been staring at the code for a while now trying to figure out how either or the two issues above could occur, and so far I haven't found anything. I'm suspicious about whether the problem was perhaps a failure to clear cached Tomcat files, which would allow old code to run. I'll leave this issue open, but it may be a non-issue. -- Ryan 03-Sep-2007 00:14 PDT

[Edit]Cannot register new users in protected wiki

I have a wiki that can only be viewed by registered users. To achieve this, I took all privileges from anonymous and registered users and assigned the 'view' privilege to individual users. Unfortunately, without the 'view' privilege, you can also not view the register page which means that I have to unlock the wiki everytime I want to add another user. The introduction of a new privilege would help... --87.167.28.136 21-Nov-2007 03:04 PST

Thanks for the suggestion. It's a long holiday weekend here this weekend, but when I get a chance I'll see if this is feasible for the 0.6.2 release or if it's something that would need to be done for 0.6.3. If you don't see an update by Monday please add a gentle reminder note so that I don't forget! -- Ryan 21-Nov-2007 22:06 PST

[Edit]Page Move Error

Moving Tech talk:Transactions to Tech comments:Transactions created a link to a non-existent topic and wiped out the history of the original article when accessed from the "History" tab. The history was still available by manually typing in the topic version ID, and a Special:RecentChanges entry was correctly created. There was no indication in the logs of what might have happened. Trying to reproduce the issue locally has thus far been unsuccessful, so this one will probably require some digging into the database to see what happened. -- Ryan 10-Apr-2008 02:27 PDT

[Edit]Signatures don't work in some cases

If the user hasn't maintained his EMail or display name the signature will not be generated. See the WikiSignatureTag#buildWikiSignature() method. Is this intentionally? I think most users won't configure their EMail and display name in the first step and might wonder, why the signature doesn't work. -- Axel Kramer 08-May-2008 13:37 PDT

Definitely not intentional, but should be easy to fix. -- Ryan 08-May-2008 13:57 PDT
I just tried this with a user who had no display name or email and the signature came up properly. Can you let me know what you see, and what the signature patterns are in your Special:Admin#parser settings? -- Ryan 08-May-2008 19:28 PDT
For reference, here are my signatures after deleting the display name and email on my account:
~~~ wrh2
~~~~ wrh2 08-May-2008 19:36 PDT
~~~~~ 08-May-2008 19:36 PDT
Oh sorry, yes you are right, if I'm creating a new user in my development environment it works. Could it be, that only the first admin user sees this effect, because in the debugging I've seen thet email == null and displayName == null? Nethertheless I think you can close this issue. -- Axel Kramer 09-May-2008 09:20 PDT
I'll try to reproduce the issue with a new install. I'm (hopefully) going to be able to spend some time bug fixing this weekend with the goal of getting a beta release ready by the end of the weekend, so I'll add this bug to the list of things to investigate. -- Ryan 09-May-2008 11:03 PDT

[Edit]Signatures in templates

Moved from the Feedback page:

Anybody here to tell me how to add user signatures to templates? ~~~~ expands immediately, fiddling around with <includeonly> doesn't yield a satisfying result, it doesn't became clearer after reading Mediawiki doc. Thanx! -- fmr 20-Apr-2007 03:13 PDT

Are signatures in templates something that Mediawiki supports? At present using tildes as a signature is something that is immediately converted when a topic is saved, so there would not be any way to have anything other than the content of the signature (ie "Ryan 20-Apr-2007 09:06 PDT") appear in a template. -- Ryan 20-Apr-2007 09:06 PDT
There's a lot of tech doc about substitution, telling me The code ~<includeonly>~</includeonly>~~ will be displayed as ~~~ when the template is not included, ~~~~ when the template is included, but it will only be expanded as the active user when the template is subst'd, which is to say when it has been joined within the same block once again. Well, but what's the meaning of this? -- fmr 24-Apr-2007 03:57 PDT
At the moment signatures in JAMWiki templates probably won't work due to the way the parser processes text. It may be possible to address this issue in a future release, although issues like this one make me wish that Mediawiki was a bit more consistent with their syntax and processing rules... -- Ryan 06-May-2007 21:43 PDT

[Edit]Linebreak in Tablecell

Moved from the Feedback page:

Is there a way to put a linebreak in a tablecell?
<br> works for Firefox but in Internet Explorer (6) the tables are cutted (a whole colom is cut) and the following topics are right of the table where they shouldn't be. Is there a better way to put a linebreak in a table cell? --- Martin

I don't have a copy of IE6 available on this machine, but I would expect the following to work:

{| style="border:1px dashed black"
|-
| heading1
| heading2
|-
| column1
| column2 <br /> line 2
|}

Producing:
heading1 heading2
column1 column2
line 2
-- Ryan 14-Sep-2007 06:26 PDT

The linebreak works in the table - BUT the following text and headlines are misplaced and disordered. I need a way to avoid this confusion to make the text readable in IE6. -- Martin 17-Sep-2007

[Edit]jamwiki.org: short idle time for logged in users

Moved from the Feedback page:

Very often I have the problem to be thrown out by jamwiki.org in the middle of a time-consuming thinking and editing process.... ;) So after saving my masterpieces ;) I notice that my IP adress was 007.123.898.255.... there should be a way to work around this. Maybe if someone wants to save an edited article JW should ask in general for logging in, an additional step for Mr./Mrs. Anonymous, but maybe that will lead to more registered JWians. -- Frank 12-Sep-2007 05:05 PDT

I'll have to take a look to see where the Acegi code sets its default idle times. Please give me a gentle reminder if I haven't responded to this issue with a solution within the next 3-5 days. In the mean time, since it sounds like you want to enable anonymous editing, modifying the anonymous group permissions from Special:Roles will likely resolve this problem in the short term. -- Ryan 12-Sep-2007 08:06 PDT
No, I just want jamwiki.org to not forget me in the middle of a..... -- Frank 13-Sep-2007 02:28 PDT
I had given this to Feedback, but there I've seen this entry moved to Bug Reports... To keep the sessions open as long as my users are working with jamwiki (without defining days for session-timeout...), I put the following script into the html-head (top.jsp):
	<script language="javascript">
	      function reloadpixel() {
	         mypixel = document.getElementById('mypixel');
	         if (mypixel) mypixel.src = mypixel.src.replace(/\?.*$/, '?' + Math.random());
	      }
	      window.setInterval("reloadpixel()", 200000);
	</script>
and anywhere in body, I am loading this pixel (I did this also in top.jsp):
<img src="/iktwiki/images/mypixel.png" id="mypixel" height="1" width="1" />
I think the attachment of Math.random() is quite necessary, so that browsers don't use their cache. --hp 03-Jun-2009 02:46 PDT
Thanks, this is probably a good idea to implement for 0.8.0. Thanks for the code! -- Ryan • (comments) • 03-Jun-2009 10:15 PDT
It would be great to find this feature in 0.8, perhaps it could be an option in Special:Admin if anyone doesn't like it... --hp 03-Jun-2009 23:12 PDT

[Edit]Character set problem

Moved from the Feedback page:

I am installed jamwiki 0.6.0 on FreeBsd6.2, tomcat5.5, mysql5; And backup jamwiki webapps, database, upload directory and changed my system to ubuntu 7. After that i restore mysql, and jamwiki webapps to ubuntu. And configure tomcat uriencoding, mysql database character set to utf8, some configure on jamwiki.properties. Now encoding is not work. Old articles are colored "RED". My Tomcat URI configuration is:

    <Connector port="8009" 
              enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" 
               maxThreads="350" connectionTimeout="15000" compression="on"/>

Is there any error;

Are the old topics showing up in your wiki? It sounds like JAMWiki is not finding its data in the database, but I may not be understanding the problem correctly. -- Ryan 26-Oct-2007 19:23 PDT

[Edit]Nested Templates

Moved from the Feedback page:

I'm trying to create a master template consisting of various sub-templates, each of those expecting some parameters.

One of my sub-templates (Country Profile Overview Country) is defined like:


{{{CountryOverview|Something about {{{Country|<Country Name>}}}...}}}

<noinclude>
<p><br /><br /><br />
----
'''Usage'''
----
This template is used to provide a standardize way of giving an overview over a particular country.
<pre><nowiki>
{{Country Profile Overview Country
|Country=<Country Name>
|CountryOverview=<Country Overview>
}}
<//nowiki><//pre>
----
[[Category:Template]]
[[Category:Sub-Template]]
</noinclude>

My master templates (Country Profile) incorporates the sub-template like:


__TOC__

== Overview {{{Country|<Country Name>}}} ==
{{Country Profile Overview Country
|Country={{{Country|<Country Name>}}}
|CountryOverview={{{CountryOverview|<Country Overview>}}}
}}

This master template I'm then using like:


{{Country Profile
|Country=San Marino
|CountryOverview={{{Country|<Country Name>}}} is a landlocked enclave in Italy...
}}

[[Category:Test]]
[[Category:Sandbox]]

As you can see, I'm passing a parameter ({{{Country|<Country Name>}}}) inside another parameter (CountryOverview). This results in:


Test Country Profile
------------------------------------------------------------------

Overview San Marino

{{{Country|<Country Name>}}} is a landlocked enclave in Italy...

How would I manage having the Country-parameter being replace appropriately? --Sil68 07-Apr-2008 07:24 PDT

Looks like you're doing everything right, but there's a bug in the template parsing. I've run into a few other issues, but unfortunately they're going to be rather tough to fix. I'll try to give this some attention this week, but please leave a gentle reminder if I haven't provided an update within the next five or six days. -- Ryan 07-Apr-2008 19:35 PDT
Hi Ryan, How is it going? :) --Sil68 13-Apr-2008 22:19 PDT
Thanks for the reminder :) I ended up spending the weekend working on fixing regressions related to parser changes and cleaning up the paragraph parsing, but templates are next on the to-do list. Sorry for the delay! -- Ryan 14-Apr-2008 08:09 PDT
Quick update - I've been busy with work and parser updates, but at the moment my plan is still to include a fix for your issue in the next release unless it turns out to be something that is very difficult to fix or that could cause a lot of regressions. Hopefully this week or next weekend I'll find some time to investigate. Sorry for the delay! -- Ryan 21-Apr-2008 08:38 PDT
Apologies for all of the delays - between all of the parser changes that have been going in lately and some very long hours at my workplace it's been three weeks and I still haven't gotten to any template changes. I've got your example template running on my local instance and I've started going through the code to see how best to get this issue fixed, but it's not a simple change. At this point I'm thinking it might make more sense to get the final 0.6.6 release done, and then look into template fixes for the next release. My plan is to freeze things and start testing by the end of this week (02 May), so if the template work doesn't happen by then it will probably slip to the next release. Sorry for the delay! Hopefully this won't inconvenience you too much. -- Ryan 27-Apr-2008 22:02 PDT

[Edit]Jboss logging problems

Moved from the Feedback page:

Hi everybody, running JamWiki on jboss 4.0.5, I experienced some problems regarding logging. Fisrt: during deployment, the server complained with class cast exception on creating logger appenders and handlers

...
2008-04-08 08:26:54,249 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable.
2008-04-08 08:26:54,249 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.spi.ErrorHandler" was loaded by 
2008-04-08 08:26:54,250 ERROR [STDERR] log4j:ERROR [WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@6343c4
] whereas object of type 
2008-04-08 08:26:54,251 ERROR [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@c2a132].
2008-04-08 08:26:54,375 ERROR [STDERR] log4j:ERROR Could not create an Appender. Reported error follows.
2008-04-08 08:26:54,376 ERROR [STDERR] java.lang.ClassCastException: org.jboss.logging.appender.DailyRollingFileAppender
...

After I deleted log4j-1.2.9.jar from the lib directory of wiki, the deployment was successful without problems. however during runtime of application, the log messages are send with wrong level. example :

...
09:32:39,292 INFO  [Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 42s:876ms
09:33:35,731 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for SandBox (0.14 s.)
09:33:35,747 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for LeftMenu (0.016 s.)
09:33:35,762 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for BottomArea (0.0 s.)
09:33:35,762 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Loaded page /wiki/en/SandBox (0.25 s.)
...

it seems like the actual message is included into jboss error message As I have noticed several users around here running jamwiki on jboss, I would be grateful for any advice. Thanks Aryan

This is the first report I've seen like this, and unfortunately the only installation notes that JBoss users have provided is Installation#JBoss. Based on the log messages you've provided it looks like something in the JBoss shared lib or configuration settings is conflicting with JAMWiki's logging settings, but I don't use JBoss regularly so I'm not sure. Hopefully another JBoss user can provide some insight, and if you figure out the issue please feel free to update the Installation#JBoss notes with any relevant information. -- Ryan 08-Apr-2008 08:00 PDT

fowlks: I'm using JBoss 4.2 and am experiencing the same issue with no resolve. Any updates on this issue would be much appreciated. Thanks -

[Edit]Problem with german umlaut in article and category title

Hello, i am running JamWiki v0.6.6 on Tomcat v6.0.16. I'm using SQL Server 2005 with the following JDBC-driver: com.microsoft.sqlserver.jdbc.SQLServerDriver . Although I found lots of articles about resolved issues with german umlaut, i still encounter problems in article and category titles. Any solutions I probably haven't found?

My internet access is going to be limited so I may not be able to respond for a bit, but can you provide a bit more information? Is it only umlaut characters? If you copy & paste similar content to jamwiki.org do you see the same problem? Finally, do you see the problem when you preview a topic, or only when it is saved? As far as I'm aware all UTF-8 issues have been resolved, but it's possible that there is something specific to either the character set you're using or else SQL Server that might be causing issues. -- Ryan 12-Jun-2008 05:08 PDT

[Edit]Logout doesn't log user out

I'm running JAMWiki v0.6.6 on Tomcat 5.x with MySQL and the JConnector.

Once a use is logged in they cannot log out. Click on the logout link on the top of the page does not appear to do anything. As Admin, I clicked on Log out and then was still able to goto the admin page.

Michael 12-Jun-2008 11:16 EDT

Do you see any error messages in the log? I haven't personally experienced this problem, and your report is the first I've seen of it. Can you also verify whether you can logout correctly on jamwiki.org so that we can try to narrow it down? I'm currently on vacation (this is being written from a hotel in Iceland) and will have spotty internet access for the next four weeks, but I will definitely investigate as time permits. -- Ryan 13-Jun-2008 02:21 PDT

[Edit]File not found: /j_spring_security_logout

I get the following error when trying to log out from WebSphere:

Error 404: SRVE0190E: File not found: /j_spring_security_logout

I just moved my wiki to WebSphere from resin. I did not see this error under resin. I think it might be related to this error from the log:

2009-05-26 20:12:34,939 SEVERE: org.jamwiki.servlets.JAMWikiServlet
 - Unable to load default layout org.springframework.security.AuthenticationCredentialsNotFoundException: 
  No authentication credential available
 at org.jamwiki.authentication.WikiUserDetails.initWikiUserDetails(WikiUserDetails.java:212)
 at org.jamwiki.servlets.ServletUtil.currentUserDetails(ServletUtil.java:176)
 at org.jamwiki.servlets.JAMWikiServlet.buildUserMenu(JAMWikiServlet.java:169)
 at org.jamwiki.servlets.JAMWikiServlet.loadLayout(JAMWikiServlet.java:290)
 at org.jamwiki.servlets.JAMWikiServlet.viewError(JAMWikiServlet.java:317)

Bob White 26-May-2009 17:49 PDT

Can you clarify what JAMWiki version you're using? I don't think that /j_spring_security_logout is included in JAMWiki 0.7.x or greater, so is it possible you've got an older version or another copy of Spring Security being triggered by another application? -- Ryan • (comments) • 26-May-2009 19:13 PDT
I am using 0.7.0 running under WebSphere 6.1 on Windows. There are other applications running on this server -- all Web services. I don't think any other applications load the spring libraries, though. The application also seems to be unloaded by WebSphere after a certain amount of inactivity. If it has not been accessed for a few minutes (around 10 minutes), we find it takes 56 seconds to load the home page. There is an warning message in the log about the slow page load time (I assume this is being written by Jamwiki). This is unacceptable. I am probably going to install Resin on this server and serve Jamwiki from Resin. Bob White 27-May-2009 14:54 PDT
OK, I'll need to dig into this issue further - Websphere hasn't been a problem in the past, but I haven't tested on it in a while. For now I'd recommend going back to Resin and hopefully someone will be able to shed some light on the situation soon. If you find that it's anything specific to your local setup I'd be interested in knowing more as it seems unusual for the app to be automatically unloaded and to have interaction problems with Spring Security. Thanks for the bug report. -- Ryan • (comments) • 27-May-2009 16:11 PDT

[Edit]upgrade from 0.6.5 to 0.6.6

Hi,

Environment: jamwiki 0.6.5, Apache Tomcat 6.0.16.0., PostgreSql 8.1.10, SUN JDK 1.6.0_04.

I'm running 4 instances of jamwiki 0.6.5 in one Tomcat, each with it's own database. After I updated one instance to 0.6.6 all instances showed the data from the jamwiki I updated. After I rolled the updated instance back to 0.6.5 everything was fine again, all instances showed their own content.

I'm currently on vacation with very limited internet access so I won't be able to try to reproduce this issue until I return in mid-July, but could you let me know a bit more about your setup? I'm guessing that the upgrade process may have read the wrong jamwiki.properties file, so can you let me know what folder you jamwiki.properties file appears in? Thanks for the report! -- Ryan 19-Jun-2008 10:38 PDT

All four wikis are installed in the webapps directory of the tomcat (actually the directory is a softlink to an other place). Each wiki has it's unique directory. This is the actual directory structure:

 wlanadmin@mysticserver - Fri Jun 20 19:35:59
 /data/www/webapps>ls
 MatzWiki/     host-manager/  jamwiki/     rkFrontend/     rkWebservice.war
 MatzWiki.war  TanjaWiki/       hotelwiki/     jamwiki.war  rkFrontend.war
 TanjaWiki.war        hotelwiki.war  manager/     rkWebservice/

When I looked at the admin Page of the wikis, they all had the content of the updated wiki. When I changed the configuration and tried to save it, I think I got a java.io.file error saying 'permission denied'

[Edit]Users with '_' in the nickname cannot edit pages

Hi, with my nickname (alex_custov) I can login in Jamwiki, but I cannot edit any page. There is no 'Edit' link at the top of the page.

My name "Alex Custov" and "User comments" are highligted with red at the top of the page.

Also, when trying to upload a file, it gives "You do not have permission to access Special:Upload."

Also, when trying to update account it gives "Неизвестная ошибка системы (Unknown system error): java.lang.Exception: Failure while executing update jam_wiki_user set login = ?, display_name = ?, last_login_date = ?, last_login_ip_address = ?, default_locale = ? where wiki_user_id = ?."

Jamwiki is 0.6.3, server configuration is PostgreSQL 8.2, Apache2 2.2, Sun Java SDK 1.5, Apache Tomcat 5.5, memcached 1.2

Jamwiki is installed at http://www.linux.org.ru/wiki

How to fix it? Thanks.

Thanks for the report. I am in the processing of flying home after a long vacation, and will investigate after I get back home (in the next 1-2 days). I suspect this one will be easy to solve and is related to the fact that JAMWiki converts underscores in topic names to spaces. Please add a reminder comment if this bug report isn't updated by end-of-day Sunday July 13. -- Ryan 11-Jul-2008 18:11 PDT
I'm not going to get a chance to investigate this issue today, but hopefully in the next day or two I'll have more time. Please remind me if I forget, as things are busy after being on vacation for so long. -- Ryan 13-Jul-2008 11:09 PDT
Hi Ryan, how is it going? :)
Thanks for the reminder. This issue is #1 on my to-do list when I get some time for JAMWiki development, but sadly I haven't had a chance yet. Hopefully this weekend, although I just got drafted to do some work for a side project on Saturday. In terms of when this fix would be available in a release, 0.7.0 won't happen for a long time, so if this issue can be safely fixed it might be worth putting a 0.6.7 release together that includes it. Sorry for the delay, and thanks for following up! -- Ryan 17-Jul-2008 20:33 PDT
I finally got a chance to try to reproduce this issue, but when I create the login alex_custov on my local machine it seems to work for me with both the current JAMWiki code and the 0.6.3 version. A few questions:
  • Just to verify, can users without underscores edit pages?
  • Have you made any changes to the /WEB-INF/applicationContext-acegi-security.xml file?
  • Are there any other customizations you might have made that would affect editing pages?
Sorry for taking so long to investigate this problem - hopefully once I'm able to reproduce the issue the fix will be easy to make. -- Ryan 20-Jul-2008 20:33 PDT
Sorry, Ryan. Probably there is a bug in jamwiki configuration. I'm not an administrator of that site, and the main problem is that administrators don't want to investigate and fix this problem. They use different tricks to not to do this. Sorry, and consider this bug to be closed.
No need to apologize - I suspect that there might actually be a real bug here, but without knowing how to reproduce it I'm probably not going to be able to fix it. Let's leave this bug report open and see if anyone else encounters the same issue and can provide more detail on how to reproduce it. -- Ryan 22-Jul-2008 08:12 PDT

[Edit]no link to create a new page after a search

with v 0.6.6, it's not possible to create a new page after an unsuccessfull search as described in the help page ; no link appears but {1}

"search_bug" n'a été trouvé dans aucun sujet.
Le sujet "search_bug" n'existe pas actuellement; il peut être crée en cliquant sur {1}.
Thanks for the bug report. It appears that the English text is processed properly, but other languages are not. I'll investigate and make sure a fix is included in the next release. -- Ryan 11-Aug-2008 21:14 PDT

[Edit]Paragraph Parsing

{|
|-
A single newline
has no effect
on the layout.
But an empty line

starts a new paragraph.
|}

...should generate two paragraphs, but the following is the actual output:

A single newline has no effect on the layout. But an empty line starts a new paragraph.

Note that it works fine when not in a table. -- Ryan 30-Aug-2008 00:24 PDT

Note that this may be related to http://jamwiki.org/wiki/en/Bug_Reports#Whitespace_Collapses_Paragraphs j_teer 08-Jan-2009 21:13 PST

[Edit]Edit Toolbar is Missing in 0.6.6

I just upgraded from 0.6.2 to 0.6.6 and have found all Edit Toolbars missing. I have verified that the Toolbar Button Images are intact within the images folder.

Environment: Tomcat 5.5.25 Database: JAMWiki Internal

Thanks - Scott

What browser are you using? IE6? -- Ryan 19-Sep-2008 13:26 PDT
I just tried IE6, and it seems OK. Is your wiki publicly available? I'm curious if maybe there is a CSS or other issue specific to your setup. -- Ryan 19-Sep-2008 14:43 PDT

[Edit]Migration Error

Copied from Tech:Migrate Database:

Any success with PostgreSQL? I have been able to export. But loading (migrating) is returning with no success and errors:

Changes HAVE NOT been saved
An unknown system error has occurred. The error message is: Failure while executing CREATE TABLE jam_virtual_wiki ( virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, default_topic_name VARCHAR(200) NOT NULL, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, CONSTRAINT jam_p_vwiki PRIMARY KEY (virtual_wiki_id), CONSTRAINT jam_u_vwiki_name UNIQUE (virtual_wiki_name) ).
An unknown system error has occurred. The error message is: ERROR: relation "jam_wiki_user" does not exist.

Not exactly sure where the problem is happening. I have been looking at the code for org.jamwiki.db.WikiDatabase to see if there is a clue that can be found, but nothing like a smoking gun. Hoping there has been some success. I'm running 0.6.7, psql 8.2.5. --Tim

I believe that this issue is fixed for JAMWiki 0.7.0. -- Ryan • (comments) • 24-Feb-2009 20:00 PST

[Edit]StartingPoints message

Hi Ryan, I did start my webtests - all green. Then I called localhost:8080/jamwiki-war/ and got a strange StartingPoints-page.

<div id="contents">
 <div id="contents-header">StartingPoints;jsessionid=10rrk4la97wt4</div>
  <div class="message">Der Artikel "StartingPoints;jsessionid=10rrk4la97wt4" existiert zur Zeit noch nicht. Um ihn anzulegen folgen Sie bitte diesem Link: <a href="/jamwiki-war/en/Special:Edit?topic=StartingPoints%3Bjsessionid%3D10rrk4la97wt4" class="edit" title="StartingPoints;jsessionid=10rrk4la97wt4">StartingPoints;jsessionid=10rrk4la97wt4</a>.</div>
  <br>
</div>

Dont know what this kind of message means to me? Anyway is this the right place to post such messages? -- mbert 19-Oct-2008 11:12 PDT

And wenn I login as the user admin I do get a clean StartingPoints page. -- mbert 19-Oct-2008 11:13 PDT
Thanks for the report - current trunk has some issues related to the storing of passwords (I'm working on fixing it) that may be causing the issue above. I'll try to get a fix checked in soon. -- Ryan 19-Oct-2008 20:26 PDT

[Edit]Lockout after changing DB password

Move from FAQ:

We've been running Jam Wiki for several months now and our Oracle database password just changed. How can we update the password at this point? I tried WEB-INF/classes/jamwiki.properties, but that does not seem to help.

Since this probably isn't a frequently asked question I'll move it to Feedback shortly, but to answer - you can update the database password from Special:Admin#database. All passwords are encrypted in jamwiki.properties, so updating the properties file directly won't work. Note that after the password is updated you will probably need to restart your app server so that the connection pool can reload. -- Ryan 23-Oct-2008 10:53 PDT

Thanks, Ryan, but my Oracle account gets immediatelly locked once I go to this page.

OK, I'll log this as a bug report then and do some investigation. Sorry for the trouble... -- Ryan 29-Oct-2008 15:47 PDT
I also had a similar problem when moving to new platform. The problem is if the database password is encrypted, there is no way to change it after the password has been changed. You can't get to Special:Admin#database because you are locked out of the wiki due to the access denied to database. As far as I could see the only way to get around this was to change the database password back to the old password - so jamwiki has access again to the database and we can actually get into the wiki - then go to Special:Admin#database and change the database password to the new one, then go back to the db and change the password again to the new one.
For simply changing databases I believe that the migration tool on the Special:Maintenance page should handle changing passwords. For changing the database password, there is a feature in WebSphere that might be something JAMWiki could copy - when using WebSphere, you can enter an unencrypted password in a property file, and as soon as it is read the first time it will be re-saved as an encrypted value. That might be a possible solution to this issue. I've got a few things queued to finish first, but I may be able to get to this in the next two days. If not then I'll be gone for a week with no internet access, but after that please add (gentle) reminders to this bug report so I don't forget. Thanks for the follow-up. -- Ryan • (comments) • 12-Mar-2009 05:46 PDT
revision 2534 should resolve this issue, although it needs more testing. If JAMWiki encounters an un-encrypted value in the properties file it will read it, encrypt it, and re-save the properties file. That should allow users to manually enter password values without fear of having passwords stored in plain text in a properties file. -- Ryan • (comments) • 14-Mar-2009 07:38 PDT

[Edit]Unable to Move or Delete Page, "Invalid or missing topic name" message

This page (note underscores and lower case letters in topic title) displays OK, but Im unable to move or delete it: http://benhutchison.com/en/Tools_And_Technologies

The topic name "Tools_Frameworks_and_Platforms" seems to be invalid as I get message "Invalid or missing topic name." (why?). Once something has an invalid name, you dont seem to be able to get out of that situation by moving it to a valid name.

What version of JAMWiki are you using? Also, what steps did you take to create a topic with underscores in it? I think the code should automatically escape those to spaces. I don't think I've seen this problem before, but will do some investigation when time permits. -- Ryan 18-Nov-2008 07:57 PST
To answer your questions: version 0.6.7. I did nothing special to create topic with underscores, I wanted to get spaces. The fact that it hasnt escaped is part of the bug, I think. I moved to the topic to another name - Could that be related?
Sorry for taking so long to get back to you. I havent' had any time at all this week to devote to JAMWiki, but I'm hoping to be able to investigate this issue this weekend. If I can reproduce the problem then it should be reasonably easy to make a fix available. -- Ryan 21-Nov-2008 10:54 PST

I tried reproducing this issue in the following ways, but all of them worked as expected. Can you provide the exact steps to reproduce? It may be platform-specific, or there may be another issue, but without being able to reproduce it will be next to impossible for me to fix:

  • Enter a topic name in the URL for a topic that doesn't exist (Ryan_Test) and then edit using the edit tab of the resulting page.
  • Enter a topic name in the URL for a topic that doesn't exist (Ryan_Test) and then edit using the edit link of the resulting page.
  • Enter a non-existent topic name in an existing topic, then click on the resulting link.
  • Search for a non-existent topic name then click on the resulting link in the "not found" page.

-- Ryan 23-Nov-2008 19:40 PST

[Edit]Error while clicking the link All Pages/All Topics

When the link All Pages is clicked the below error message are seen in version JAMWiki0.6.7


Below error message is seen: 

java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName


Server log:

SEVERE: Error in JSP page
java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName
	at org.jamwiki.utils.Utilities.decodeTopicName(Utilities.java:106)
	at org.jamwiki.utils.LinkUtil.parseWikiLink(LinkUtil.java:441)
	at org.jamwiki.taglib.LinkTag.doEndTag(LinkTag.java:66)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_jamwiki_link_0(items_jsp.java:258)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_c_forEach_0(items_jsp.java:225)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspService(items_jsp.java:119)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
  trimmed
	at java.lang.Thread.run(Thread.java:595)
2008-12-02 17:45:36,743 ERROR [STDERR] java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.utils.Utilities.decodeTopicName(Utilities.java:106)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.utils.LinkUtil.parseWikiLink(LinkUtil.java:441)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.taglib.LinkTag.doEndTag(LinkTag.java:66)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_jamwiki_link_0(items_jsp.java:258)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_c_forEach_0(items_jsp.java:225)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspService(items_jsp.java:119)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
  trimmed

--yesesnono 02-Dec-2008 04:29 PST

I think there is bad data in your database - Special:Allpages works on jamwiki.org, and that error should only be triggered by null values. I can add a check in the code for empty topic names, but in the meantime to fix your wiki you can run the following query against your database to remove any blank topic names:
update jam_topic set topic_name = 'Empty Topic Name' where topic_name is null or topic_name = '';
Hopefully that will resolve the problem. -- Ryan 02-Dec-2008 20:12 PST
I tried to run the query in my DB. No rows were affected. Anyway will check it again and update you at the earliest. Thanks for your reply. --yesesnono 03-Dec-2008 22:16 PST

[Edit]Unable to open Office 2007 files

When Office2007 files i.e. with extension .docx, .pptx, etc are uploaded it is getting saved properly. But when we try to view/save the uploaded file it is opening or saving with .zip extension by default. So could not view those files.

--yesesnono 02-Dec-2008 04:29 PST

I don't have Office 2007 - could you upload one of these documents to jamwiki.org so that I can try to figure out what's going on? Thanks! -- Ryan 02-Dec-2008 20:06 PST
I think this could be a "feature" of Microsofts Internet Explorer. This also happens often with odf-files as they are ziped as well.
I have uploaded a word document with extension (.docx). I tried to upload a Excel Sheet(2007 extension - xslx) and ppt(2007 extension - pptx) but it is giving the below error message.
An unknown system error has occurred. The error message is: java.lang.IllegalArgumentException: Topic name not specified in decodeAndEscapeTopicName.

--yesesnono 03-Dec-2008 22:16 PST

[Edit]Link to Uploaded file with '+' in file name

I successfully uploaded a .pdf file with '+' in the document name, but was then unable to link to it. After I changed the file name all was OK. Is it possible to link to file with other characters in the name or filter them out when uploading so you are forced to rename file before uploading it?? I am running the latest release, with default database on windows.

I'll need to investigate Mediawiki to see how they handle file names with a "+" in them - most likely the solution will simply be some sort of renaming when the file is saved. This should be easy to fix for 0.7.0. Thanks for the report! -- Ryan 17-Dec-2008 07:19 PST
I just tried uploading two files on JAMWiki, one with a "+" in the name, the other with a space in the name - I also tried uploading on my local (Windows) machine. Both files uploaded successfully, although the file with the "+" sign had its name converted to a space. I then tried uploading the file with the "+" in the name to Wikitravel (which uses Mediawiki) and that upload actually failed - the file was not accessible after upload. The two JAMWiki files I uploaded are: Image:Space Test.gif and Image:Plus Test.gif. As a result I think JAMWiki is behaving properly, unless I'm mis-understanding your report. If you can provide more details about what is wrong it would help in tracking down the issue, although based on the tests I've done I think the current behavior is correct. -- Ryan 09-Jan-2009 08:38 PST

[Edit]Error message from Special:Manage for non-existent topic

When clicking on the "Manage" tab from a non-existent topic (which happens frequently with comment pages) the error message "Invalid or missing topic name" is displayed. Mediawiki allows protection of topics that have not yet been created, so this case should eventually be handled. At a minimum, either the tab should be hidden or a better error message should be displayed. The code in question is ManageServlet.view(). -- Ryan 02-Jan-2009 12:07 PST

[Edit]# in topic name results in error

Editing a topic section such as "#" results in a "invalid topic name" error. -- Ryan • (comments) • 24-Jan-2009 23:26 PST

[Edit]Section editing & templates

When a template contains a wikiheading it throws off the "edit" links for each section. See Latest News for an example. -- Ryan • (comments) • 03-Feb-2009 19:23 PST

[Edit]NoSuchMethodError after Installation

After the installation screen I get this error message (german) Ein unbekannter Systemfehler ist aufgetreten. Die Fehlermeldung lautet: java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.length(Ljava/lang/String;)I.. I installed JamWiki on a Apache Geronimo 2.1.3 and a mssql connection over jtds.-- Fanninger Thomas • 02-Mar-2009 04:40 PST

The method in question is included in the /WEB-INF/lib/commons-lang-2.4.jar that is included by default with the JAMWiki distribution. I suspect you might have an older version of the commons-lang.jar file somewhere in your classpath that is overriding the JAMWiki version - can you see if Geronimo is including commons-lang.jar by default somewhere? Thanks for the report! -- Ryan • (comments) • 02-Mar-2009 07:25 PST
Hi, I found the solution. Here an example of a geronimo-web.xml.


<?xml version="1.0" encoding="UTF-8"?>

<web:web-app xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0" 
             xmlns:client="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0" 
             xmlns:conn="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2" 
             xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2" 
             xmlns:ejb="http://openejb.apache.org/xml/ns/openejb-jar-2.2" 
             xmlns:name="http://geronimo.apache.org/xml/ns/naming-1.2" 
             xmlns:pers="http://java.sun.com/xml/ns/persistence" 
             xmlns:pkgen="http://openejb.apache.org/xml/ns/pkgen-2.1" 
             xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" 
             xmlns:web="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1">
    <dep:environment>
        <dep:moduleId>
            <dep:groupId>org</dep:groupId>
            <dep:artifactId>jamwiki</dep:artifactId>
            <dep:version>0.7</dep:version>
            <dep:type>war</dep:type>
        </dep:moduleId>
        <dep:dependencies>
            <dep:dependency>
                <dep:groupId>at.kages.lib</dep:groupId>
                <dep:artifactId>jtds</dep:artifactId>
                <dep:version>1.2.2</dep:version>
                <dep:type>jar</dep:type>
            </dep:dependency>
        </dep:dependencies>
        <dep:hidden-classes>
            <dep:filter>org.apache.commons.lang</dep:filter>
        </dep:hidden-classes>
    </dep:environment>
    <web:context-root>/wiki</web:context-root>
</web:web-app>


-- Fanninger Thomas • (comments) • 03-Mar-2009 01:20 PST
Thanks for following up, and thanks for the updates to the Installation guide! -- Ryan • (comments) • 03-Mar-2009 07:14 PST

[Edit]Unable to Get WebAppRoot

JAMWiki 0.7, Jboss 5, CentOS 5.2

Complete newbie in Jboss and JAMWiki. I installed all following basic installation guides. Deployed JAMWiki in JBoss in the default server configuration. Opened up the Jamwiki setup page easily. Noticed that the Data Type drop down list is empty. Upon further inspection, I found that the sql.*.properties files in the classes directory are not being found. Any attempt to set the database properties fail becuase there are no sql properties to use (I assume). Is there something I must do to specify the web app root? Either in Jboss or JAMWiki? Some relevant errors follow:

2009-03-23 18:24:42,521 SEVERE: org.jamwiki.Environment - Failure while trying t o retrieve default file upload directory java.io.FileNotFoundException: Found invalid root class loader for file Applicat ionResources.properties

      at org.jamwiki.utils.Utilities.getClassLoaderFile(Utilities.java:357)
      at org.jamwiki.utils.Utilities.getClassLoaderRoot(Utilities.java:372)
      at org.jamwiki.utils.Utilities.getWebappRoot(Utilities.java:397)
      at org.jamwiki.Environment.retrieveDefaultUploadDirectory(Environment.java:350)
      at org.jamwiki.Environment.initDefaultProperties(Environment.java:186


2009-03-23 18:24:42,544 WARNING: org.jamwiki.Environment - Property file jamwiki.properties does not exist 2009-03-23 18:24:42,595 SEVERE: org.jamwiki.Environment - Error while searching for resource sql.ansi.properties java.io.FileNotFoundException: Found invalid root class loader for file ApplicationResources.properties at org.jamwiki.utils.Utilities.getClassLoaderFile(Utilities.java:357) at org.jamwiki.utils.Utilities.getClassLoaderRoot(Utilities.java:372) at org.jamwiki.Environment.retrievePropertyFile(Environment.java:376) at org.jamwiki.Environment.findProperties(Environment.java:143)

Update: downgraded Jboss to 4.2.3 and the problem went away.

Thanks for the detailed bug report. I don't personally use JBoss, but time permitting I'll try to install and investigate this weekend and see if I can find a workaround. If you find out anything more in the mean time please let me know! -- Ryan • (comments) • 23-Mar-2009 20:06 PDT
I still haven't had a chance to look at this issue - if anyone finds out any further info and can help resolve the problem it would be much appreciated. -- Ryan • (comments) • 12-Apr-2009 15:41 PDT

[Edit]Edit section on page with template

This appears to be a known issue (cp. here): "Template inclusion breaks section edit links (numbering off). Update: for now I've disabled section editing on pages that use template inclusion. This isn't a long-term solution, but thus far I haven't come up with a good way to handle this issue." Not being able to edit individual sections created from templates renders the whole template concept unusable for us. We need something like a form which shall be used by many different (technically unexperienced) users; editing the entire page and using variables is a lot less intuitive than just clicking a section's "Edit" link.

Disabling section editing for template generated pages entirely would be a (not too beautiful) workaround (cp. Feedback# NOEDITSECTION not working). --tapaya 30-Mar-2009 02:36 PDT

This is actually a really tough bug to solve cleanly - the only workarounds I've come up with have been some pretty ugly hacks to the parsing code. The Latest News page on jamwiki.org suffers from the same issue you've described. I'll try to bump the priority for getting this resolved, but I'd first like to get a 0.7.1 bugfix release out so it may take a while to get resolved. Sorry! If you're comfortable with Java feel free to have a look at WikiHeadingTag.java as well as the parseSlice and parseSplice functions in JFlexParser and see if you've got any ideas. -- Ryan • (comments) • 31-Mar-2009 08:38 PDT

[Edit]Nested Lists Rendering Bug

Example:


* Outer list first item
** Inner list first item
this is a second line for the inner list first item
** Inner list second item (here is the bug with two bullets)
* Outer list second item

leads to:

  • Outer list first item
    • Inner list first item

this is a second line for the inner list first item

    • Inner list second item (here is the bug with two bullets)
  • Outer list second item

I forgot, this bug report is from: frafu 14-Apr-2009 07:41 PDT

I tried previewing this same syntax on Wikipedia and get the same (two bullet) result. Even though the current behavior is sort of crappy I'm a bit hesitant to introduce a change that breaks compatibility with Mediawiki unless there's a good reason to do so, and I suspect that in the above case most people familiar with Mediawiki would expect the "this is a second line for the inner list first item" line to NOT be part of a list. I'm open to being convinced otherwise, but in general since JAMWiki aims to be as compatible as possible with Mediawiki the argument "that's how Mediawiki does it" is the one I usually prefer. -- Ryan • (comments) • 14-Apr-2009 08:09 PDT
You're right. Mediawiki does the same. Ok, lets also copy the bugs. :-) frafu 14-Apr-2009 10:06 PDT
Ha! It's less about "copying the bugs" than letting them make the design decisions - in this case I'm honestly not sure what the "best" behavior would be. I'm sure this issue has probably been discussed at length on some Mediawiki forum somewhere with everyone arguing what behavior is correct, and I'm quite happy to let them deal with all of the arguments, make a decision, and we can then follow their lead. -- Ryan • (comments) • 14-Apr-2009 10:38 PDT

[Edit]Search Results Summary Format

In Jamwiki 0.7.1 (and on this wiki) search results do not show a properly formatted summary for each result. The summary shows the wiki formatting etc.

I have not been able to find reports of this anywhere which surprised me, especially as the Jamwiki site has the same problem!

Initially this was by design, since users are often searching for a term that might not appear in the parsed text. I can take a look and see how hard it would be to add a configuration option to parse the search summary result. Thanks for the report. -- Ryan • (comments) • 17-Apr-2009 08:26 PDT

[Edit]Custom Group Roles and Access to Virtual Wikis

Jamwiki 0.7.1 Tomcat 6.0.18

This may be a bug, or it could me my ignorance (I have only just started using Jamwiki). I have created a new group role called LIBRARY_STAFF, and I have created a virtual wiki called libstaff. I want to limit access to the libstaff virtual wiki, so only users who belong to the LIBRARY_STAFF, can access it. I tried to do this with the following entry in the applicationContext-security.xml file:

<intercept-url pattern="/libstaff/**" access="LIBRARY_STAFF" />

When I restart Tomcat, Jamwiki isn’t loaded successfully. I just get a 404 error. However, if I change the access value to a “pre-loaded ” user, it works fine e.g.

<intercept-url pattern="/libstaff/**" access="ROLE_SYSADMIN" />

Is this a bug, should I be able to restrict a virtual wiki like this, or am I missing out an important configuration step?

Just to clarify, is "LIBRARY_STAFF" a new group, or is it a new role created from Special:Roles? And is there any error in the JAMWiki or server logs when the server starts with a 404 (I would expect there would be an error somewhere...)? The functionality you've described should be possible although I haven't actually tried restricting at a virtual wiki level, so it's possible that there is a problem - I'll try to reproduce later. Also, apologies for the admittedly poor documentation - updating with examples is high on my to-do list. -- Ryan • (comments) • 20-Apr-2009 07:29 PDT

Sorry, "LIBRARY_STAFF" is a new role created from Special:Roles. I'm not that familiar with all the different logging features of Tomcat. Looking in the "catalina.2009-04-21.log! on my server I simply see:

21-Apr-2009 10:20:20 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive jamwiki.war
21-Apr-2009 10:20:22 org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
21-Apr-2009 10:20:22 org.apache.catalina.core.StandardContext start
SEVERE: Context [/jamwiki] startup failed due to previous errors 

I've tried changing the "org.jamwiki.level" value in the Jamwiki logging.properties file from CONFIG to ALL, but there's nothing really recorded in the log that seems useful, and that explains where it is failing. It's mainly stuff like:

2009-04-21 10:47:07,966 CONFIG: org.jamwiki.Environment - Loading properties fro
m sql.ansi.properties
2009-04-21 10:47:07,967 CONFIG: org.jamwiki.Environment - Loading properties fro
m sql.postgres.properties

Let me know if I can change anything else, so I can provide better log info.

I just tried a few different ways of reproducing this problem but was unsuccessful. First I tried:

	<intercept-url pattern="/en/Special:Login" access="IS_AUTHENTICATED_ANONYMOUSLY" />
	<intercept-url pattern="/en/**" access="ROLE_SYSADMIN" />

Note that the login page needs to be unprotected so that if access is denied you can still login. As you indicated, this worked for users with ROLE_SYSADMIN. I then created a new role, assigned it to my login, and tried:

	<intercept-url pattern="/en/Special:Login" access="IS_AUTHENTICATED_ANONYMOUSLY" />
	<intercept-url pattern="/en/**" access="ROLE_VIRTUAL_WIKI" />

This also worked. If the jamwiki.log file isn't showing any useful info you might check the Tomcat 5.5/logs directory (assuming you are using Tomcat) to see if there are any startup errors. Hopefully unprotecting the login page will help, but if not let me know if you find out anything further. If I can come up with any other reasons why the configuration above wouldn't work I'll update this discussion. -- Ryan • (comments) • 21-Apr-2009 21:15 PDT

Ryan - I created another role called ROLE_LIBRARY_STAFF, and added this to the applicationContext-security.xml file i.e.

 <intercept-url pattern="/libstaff/**" access="ROLE_LIBRARY_STAFF" />

This works successfully. Maybe the bug (or it may be a requirement?) is that roles that don't have a ROLE prefix do not work, and stop jamwiki from working? Anyway, this works for me. Is there anyway to delete a role? If the LIBRARY_STAFF role doesn't work then I don't need it.

Thanks for following up, and glad it's working. There isn't anything in the JAMWiki code that requires "ROLE_" in the name, but it could be a Spring Security thing so I'll investigate and update the docs as necessary. Sorry it took so long to get this resolved, but your patience is much appreciated! -- Ryan • (comments) • 23-Apr-2009 07:31 PDT

[Edit]Upgrade from 0.5.1 to 0.7.1 with database migration

I'm trying to upgrade and migrate from 0.5.1. with HSQLDB (file database) to 0.7.1 with MySQL database but am encountering a lot of problems. First of all, the automatic upgrade fails with an error 'javax.servlet.jsp.JspException: java.lang.Exception: Failure while executing select * from jam_virtual_wiki' . I have Tomcat 6 installed with java 1.5 and fresh install works with any version.

Since the automatic upgrade fails I tried the manual upgrade to version 0.6.0 for starters, but with the same result. Then I tried to migrate the database from HSQLDB to MySQL using the MySQL Migration Toolkit but there are a lot of errors that get produced because of the quotes that are commented out. I could live with treating all the errors but all the links to files get lost also.

So my question: what is the easiest way to migrate from 0.5.1 to 0.7.1 without errors and keeping all my users data (which is quite a lot)?

Provided the steps on Installation#Upgrades are being followed then this should work, so I'll need to try to reproduce and see what's going on. The error you've provided above ("select * from jam_virtual_wiki") would seem to indicate that something failed at the start of the upgrade process which is unusual, so please do let me know if there is any step in the upgrade instructions that got overlooked. -- Ryan • (comments) • 20-Apr-2009 07:32 PDT

I'm quite sure I have not overlooked any of the upgrade instructions since I have done it four times now. I thought it might have to do with the database schema that gets changed in version 0.6.x so I started yesterday by trying out that release but with the same result.

First I tried the automatic upgrade using the steps described in the UPGRADE.txt document.

 Back up all database and/or file data prior to upgrading.
 Back up the jamwiki.properties file and the logging.properties from the the /WEB-INF/classes/ directory.
 Change the necessary items in the properties file (home dir, upload dir, etc).
 Remove the old JAMWiki installation by deleting your existing JAMWiki web application.
 Install the new JAMWiki WAR file.
 Stop the application.
 Restore the files that were backed up to their previous locations under the /WEB-INF/ and /WEB-INF/classes/ directories.
 Restore the database files to the correct location overwriting the ones created by install.
 Start the application.
 Browse to the site which redirects to the upgrade
 Provide any login (sa without password, admin that I created, database user, root user) with the result as indicated.

At this moment I'm trying to install the same version with HSQLDB database exactly the same as the original server is configured, i.c. version 0.5.1. I followed this steps:

 New install of version 0.5.1. with internal database
 Stop application
 Copy jamwiki.properties and logging.properties to the correct directory (WEB-INF/classes)
 Copy all the database files
 Restart the application.

and I get the error: javax.servlet.jsp.JspException: java.lang.Exception: Failure while executing select * from jam_virtual_wiki

I really hope you can help out with this one.

I just tried installing 0.5.1 with HSQL and then upgrading to 0.7.1 and got the following error:
2009-04-21 20:51:31,859 SEVERE: org.jamwiki.db.WikiPreparedStatement - Failure while executing delete from jam_group_authorities where group_id = ?
java.sql.SQLException: Table not found in statement [delete from jam_group_authorities where group_id = ?]
I'll try to fix this for 0.7.2, but in the mean time if you want to upgrade you might try downloading 0.6.1 (or a similar version), upgrading to that version, and then upgrading from there to 0.7.1 (I didn't try that specifically, but suspect it might be more successful as the upgrade process will have less to do). Thanks for the bug report, and apologies for the problems. -- Ryan • (comments) • 21-Apr-2009 20:58 PDT

Hello Ryan,

I've been playing around with the HSQL database and MySQL and using SQuirreL I was able to copy the tables from HSQL to MySQL without any trouble. So, next I installed version 0.6.1 as you indicated, copied the properties files to the correct folder and restarted the webserver. I get the upgrade page and provide the login. Following this it takes some time but this upgrade also crashes, with the following statement:

The upgrade has failed. Please see below and check the logs for any failure messages, and consult the UPGRADE.txt document for details on how to perform a manual upgrade. Please report this error at jamwiki.org and provide any relevant information in the bug report.

Added jam_group table Added jam_role table Added jam_role_map table Added basic wiki roles. Added basic wiki groups. Converted admin users to new role structure. Removed ROLE_DELETE Unable to complete upgrade to new JAMWiki version.: null

The tables get created and inserts are executed apparently. After some digging around in the database and comparing it to the manual upgrade procedure I've encountered the following:

In the ultimate step (upgrade from 0.6.0 to 0.6.1) the instruction

 2. Delete the unused ROLE_DELETE:
      a) Delete values from the jam_role_map table:
             DELETE from jam_role_map where role_name = 'ROLE_DELETE';
      b) Delete values from the jam_role table:
             DELETE from jam_role where role_name = 'ROLE_DELETE';

But these values don't exist in the tables so I imagine that this is where the upgrade procedure crashes. I then changed the version number in the properties file and got the site running in version 0.6.1 but my layout is gone and I get the error that StartingPoints doesn't exist.

How can I repair this?

I tried editing the StartingPoints page as indicated but apparently nothing gets saved.

Thanks for your help Ryan.

Eric (vs.eric@gmail.com)

Hello Ryan,

I just did an upgrade from version 0.6.1 to 0.7.1 with errors that I was able to solve, but still I get no layout, it seems that StyleSheet is somewhere ignored, lost or inaccesible. Furthermore, I get the mention that StartingPoints doesn't exist and I'm unable to create it. When I click to edit and enter my text it doesn't get saved.

Hello,

Back again with an update. I've managed to get the content over to the new database layout whilst maintaining the WIKI layout, not without problems I can say. Though all content is in the MySQL database I cannot seem to access any of it. When I edit the LeftMenu as in the 'old' version all links show in red and when I click on a link it says the topic doesn't exist and I can create it.

How do the topics and versions link in the database to this LeftMenu? Is it only by the topic name or how? I cannot find anything that helps me any further on this one. Please enlighten me a bit.

Thanks for all of your patience - I've been traveling and otherwise busy and haven't had a chance to address these issues, so I apologize. The parser will use the topic name (jam_topic.topic_name) and virtual wiki (jam_topic.virtual_wiki_id) to do lookups against parsed text, and if no matching link is found then it will assume the topic does not exist and the link will appear red. For performance reasons there is also a caching layer present, so it may be possible that while your content exists an older version is cached - the cache can be cleared from Special:Maintenance#cache.
I definitely plan on giving this problem some attention prior to releasing 0.7.2... I did a number of upgrade tests for 0.7.0 without issue, but apparently most of them were from more recent JAMWiki versions. In the mean time the info you've provided (and your patience!) has been very much appreciated. -- Ryan • (comments) • 04-May-2009 07:16 PDT

No problem whatsoever Ryan, I'm glad you can find the time to help out on this issue because I'm really in the dark about what is going wrong. I just tried your solution clearing the cache but without result. The links stay red although all the data is in the database. It seems like Jamwiki cannot find anything. I have about 772 lines in jam_topic, 10232 in jam_topic_version but only 8 in jam_recent_change although I have over 10000 lines in the mysqldump. Is this normal? Does this table get cleaned with the clear cache command?

With revision 2586 I'm now able to upgrade from version 0.5.1 to 0.7.2 using HSQL on my Windows laptop. Previously the upgrade was attempting to set up group roles in a table that didn't yet exist, and I suspect that failures cascaded from there. I don't know if this fix will solve all of your problems, but I suspect that using an automated upgrade (as opposed to a manual one) will be more reliable and may help. I need to do a bit more testing on this change and I'll then make it available as a beta download, but if you're feeling adventurous and willing to compile from source feel free to grab the latest code on the /branches/0.7.x branch, build the WAR and try it out. Thanks again for your patience. -- Ryan • (comments) • 05-May-2009 22:19 PDT

That sounds like great news Ryan, thanks a lot! I'll wait for you to provide the beta version and then I'll perform an automated upgrade on our live system using HSQL. I suppose that after that upgrade it'll be a lot easier to move the site to another server and change the database to MySQL. Again, thank you very much for your help. Do you have an idea about the time when you'll release the beta? Eric 06-May-2009.

If it works for you I can commit to getting a beta out by the end of the weekend - there are a few more fixes I'd like to get done, but nothing major so Sunday evening should be a completely reasonable goal. -- Ryan • (comments) • 06-May-2009 19:58 PDT

Fantastic Ryan! I'll be leaving for our German office this Saturday and won't be back until next Wednesday so don't speed up things just because of me. Anyway, again, thanks a million. Eric 07-May-09.

Latest News#AMWiki 0.7.2 Beta 1 has links to the downloads. I didn't get to do as much testing as I would have liked, and while it works for me when I try to upgrade from 0.5.1 you may have different issues, so I'd be grateful for any feedback. Hopefully it works for you! -- Ryan • (comments) • 10-May-2009 21:29 PDT

Hello again Ryan,

I'm happy to tell you that with the beta you provided I was able to perform the upgrade using the HSQL database from version 0.5.1 to 0.7.2 without any errors. The only thing that is failing persistently is the content of the database. I'm really losing my mind on this one. The database is there, the upgrade performed without any errors but I still only get the default as with a clean installation. Clearing the cache didn't solve anything. I have a database of 67Mb and nothing is showing on the wikipage. Could you help me out on this issue please because I don't know what's going on.

Can you send me your jamwiki.log file from the upgrade? You can either upload it to jamwiki.org, or email me (please zip first) at ryan dot holliday at gmail dot com. Without being able to reproduce the issue it's going to be tough to solve, so hopefully that will provide some insight. Sorry for the continued problems! -- Ryan • (comments) • 15-May-2009 06:19 PDT
I've emailed Eric directly, but for others encountering this problem there were two issues - one, earlier versions of JAMWiki required that logins were unique but did not enforce that they had to be unique in a case-insensitive manner. Second, for some reason HSQL hung when populating the characters_changed column for a very large data set. Hopefully these two issues won't affect many users so I'm not going to change the code and risk any regressions in the upgrade logic, but for anyone experiencing similar problems perhaps this discussion will help in finding some resolution. -- Ryan • (comments) • 31-May-2009 12:21 PDT

[Edit]Display Problems for Tables in IE 6.x

We are faced general formatting problems when we use tables in IE 6(.0.2900.5512.xpsp_sp3_gdr.080814-1236) when we change the allignment from "center" to "left". While in Firefox everything works fine and the table is justified left the IE does NOT display the table at all. In some cases the table is displayed but corrupted on the right side of the screen; means left is the menu, on the screen the normal page and you could scroll to the right where beside the normal page are parts of the table displayed.

{| border="1" cellspacing="2" cellpadding="5" align="center" ... ...works ok.

But IE has problems with {| border="1" cellspacing="2" cellpadding="5" align="left" ...

Thanks for the report - it's probably a CSS thing, so I'll take a look at work where I have access to IE6 and try to get a fix ready for 0.7.2. -- Ryan • (comments) • 05-May-2009 22:20 PDT

[Edit]Do not allow renaming of images or categories

Per http://en.wikipedia.org/wiki/Help:Moving_a_page, Mediawiki does not allow renaming of images or categories. Renaming a category on JAMWiki works provided the category is still in the correct namespace, so there might be some wiggle room here. Note that renaming a category to an article namespace breaks badly. -- Ryan • (comments) • 06-May-2009 16:01 PDT

revision 2620 prevents moving images or categories into or out of the image/category namespace. -- Ryan • (comments) • 28-Jun-2009 16:48 PDT

[Edit]Database: Custom login fails on DB constraint

I am using Jamwiki 0.7.1 and I implemented a custom authenticator as Spring UserDetailsService. Jamwiki however dies with error:

javax.servlet.ServletException: java.sql.SQLException: ORA-01400: cannot insert NULL into  ("JAMWIKI.JAM_USERS"."PASSWORD")

This is a failure with either logic in JamwikiPostAuthenticationFilter or in database schema, or just issue with Oracle backend (or issue with me :)). JAM_USERS has password field declared as not null. However, in filter there are the following lines that set the authenticated password as empty:

// default the password empty so that the user cannot login directly
String encryptedPassword = "";
WikiBase.getDataHandler().writeWikiUser(user, username, encryptedPassword);

This again fails in AnsiDataHandler on line 1682 where a new user is created with a empty password. This is an issue at least with Oracle, as it seems to consider an empty string \'\' as null.

I'm not sure which is the proper way to fix this. A crude one is to remove not null constraint and insert some magic number in ENABLED column to indicate external login only.

Analyzing this one requires more thought than I'm capable of on a Sunday morning, but if I haven't responded in more detail by the end of the day please bug me to do so. Thanks for the detailed report. -- Ryan • (comments) • 10-May-2009 09:34 PDT
Can you specify how you configured the custom authenticator? Did you update /WEB-INF/applicationContext-security.xml and modify the <authentication-provider> entry? Assuming another <authentication-provider> is specified then there shouldn't need to be a jam_users entry, although it's entirely possible there's a bug somewhere that your configuration might be triggering. -- Ryan • (comments) • 10-May-2009 21:09 PDT
I just replaced authentication-provider jamWikiAuthenticationDao with my own implementation (reads different schema). Instead of returning an WikiUser object it returns User object (from Spring Security). My code actually obsoleted itself as I (finally) figured out how to use existing JAAS implementation with Spring Security. --urpi 11-May-2009 05:25 PDT
Uh. Now let's make sure that I'm getting this right. With external authentication a jamwiki_users entry may be created by JAMWikiPostAuthenticationFilter to make attributions, preferences and such work. It checks the principal type of Authentication object. If external authentication is used then a new user record should be created (as it is said in the class comments)? Post authentication filter is checking the instace of authenticated principal. With WikiUserDetails no action is needed and with UserDetails a new wiki user entry is being created. With my own ad hoc implementation an object implementing UserDetails was returned. Therefore JAMWiki tried to create new jamwiki_user record. With JAAS authentication, Spring will not return an UserDetails object, but just a String "principal" with authenticated username. Authentication succeeds but you end up with username being 'null'. Well thats just cosmetic, but if I'm right, you cannot have 1:1 external authentication with jamwiki authentication? --urpi 11-May-2009 07:44 PDT
I'm not 100% sure I understand your implementation, but if the code is currently preventing use of a custom AuthenticationDao object then it's a bug / design flaw in the JAMWiki code. I've personally only tried integrating with LDAP and JAMWiki's default authentication mechanism, so if there is another use case that's failing I'd gladly accept a patch to fix it. -- Ryan • (comments) • 12-May-2009 21:36 PDT
My code is exactly similar to Jamwiki implementation. I'm just not sure how external authentication mechanisms should behave. It may be my fault or misunderstanding, but if I'm right, there's a bug. I'll post a fix as a suggestion when its ready. --urpi 13-May-2009 00:13 PDT

[Edit]jamwiki.properties outside of war

There's already been discussion about this subject, but there still seems to be no fix available. A simple fix is to read the location of jamwiki.properties from Java system properties (as set up with "-D" parameter on server startup). For eg., in class Environment.java replace line

private static final String PROPERTY_FILE_NAME = "jamwiki.properties";

with (for example):

private static final String PROPERTY_FILE_NAME =
        System.getProperty("jamwiki.property.file", "jamwiki.properties");

Now you can set it up when server starts and point to your location. This works at least as long as jamwiki is able to read something outside the war.

The only concern I would have with this approach would be making sure that out-of-the-box installs didn't require any additional configuration... so perhaps just checking to see if "jamwiki.property.file" was defined, and if so using it, would be sufficient. I'd happily accept a patch from anyone interested in implementing this, otherwise let's leave this report open for a while and I'll hopefully put something together for a future release. Thanks for the suggestion. -- Ryan • (comments) • 10-May-2009 09:29 PDT
System.getProperty("key", "def") already does this, if no value is defined, then the default value (as in the example, current "jamwiki.properties") is used. I also prepped a patch for this. I also wrote a method for setting up any property on runtime if there's system property "jamwiki.override.file.properties=true" defined. Properties from system properties are prefixed with "jamwiki." string. I just needed that for easier deployment with multiple servers, somebody might find it useful... or not :) There's also patch available - as I figure out how to commit them. --urpi 11-May-2009 05:38 PDT
How to Help#How to contribute has details about contributing patches. Basically I just need your Sourceforge ID in order to give you Subversion access, you can then create a branch and make your changes, and then let me know when they're ready and I'll do a quick review and merge to trunk if all is well. For a simple change like this one there shouldn't be any issues, although with bigger changes I like to make sure that either the code is something that is a cleanup or a commonly used feature, or that someone will be around to maintain the code - I'm generally hesitant to merge features that I wouldn't use if the original developer won't be around as I don't have a lot of time, and addressing bug reports for features I don't use is really time consuming. -- Ryan • (comments) • 12-May-2009 21:41 PDT
Ok, will do. My username in SF is 'urpit'. --urpi 13-May-2009 00:17 PDT
You should have access to Subversion now - let me know if there are any issues. Start out by creating a branch, and I'll try to review any commits. When code is ready to merge just let me know. Thanks for helping out! -- Ryan • (comments) • 13-May-2009 07:16 PDT
Made three commits in my branch, one for file location fix, one for dynamic properties and one proposal to authentication (still not sure about it, haven't had time to test it)
Thanks! I'll try to get these reviewed this weekend and queue them for either JAMWiki 0.7.2 or 0.8.0. -- Ryan • (comments) • 28-May-2009 09:09 PDT
All of your changes looked straightforward and non-intrusive, so they've all been merged to trunk in revision 2603 (I removed one logging statement, but otherwise made no changes). Let me know what name to credit you with in the CREDITS file, and thanks for contributing! -- Ryan • (comments) • 31-May-2009 19:00 PDT

[Edit]Categories STATEMENT_SELECT_CATEGORIES

Using MSSQL as Backend, sort_key in jam_category is null if no entry contains [[Category:X|sortX]]. Executing STATEMENT_SELECT_CATEGORIES bring results in form:

category_name sort_key
Category:A NULL
Category:B SortkeyB
Category:B NULL
Category:C NULL

Special:Categories displays Category:B only once, so pagination doesn't work correctly. E.g. num=50&offset=0 displays 45 entries (while the statement returns 50).

How should the resultset look like (or how does it look on other database-systems)?

Thanks for help! --hp 25-May-2009 01:15 PDT

Thanks for the bug report. Based on Mediawiki's documentation it appears that the JAMWiki implementation of "sort key" is not entirely correct... currently the sort key is displayed on the category page with a link to the page in question. For example, if this page was in "Category:Test category" and had a "sort key" of "1st Test Page" then it should still appear on that category page with a title of "Bug Reports", but it would be sorted as if the title was "1st Test Page"; at present the title is "1st Test Page". Beyond that, if there is an additional bug that is specific to MS SQL let me know and I can investigate. -- Ryan • (comments) • 25-May-2009 16:39 PDT
You're right, JAMWiki implementation of "sort key" is a little different from Mediawiki's one. Apart from these difference, I think I have an additional bug in statement STATEMENT_SELECT_CATEGORIES for MSSQL. Perhaps STATEMENT_SELECT_CATEGORIES should ignore the sort_key, so each category is listed only once... --hp 01-Jun-2009 23:32 PDT
revision 2618 makes the sort key implementation work like Mediawiki. revision 2619 fixes an additional bug where magic words in the sort key weren't getting parsed, so something like [[Category:Test|{{PAGENAME}}]] wouldn't work. -- Ryan • (comments) • 23-Jun-2009 21:26 PDT

[Edit]Cannot login with existing users after moving wiki

Whenever I log in with an existing user, I am getting the following error:

java.lang.NoClassDefFoundError
	at javax.crypto.SecretKeyFactory.getInstance(DashoA12275)
	at org.jamwiki.utils.Encryption.createKey(Encryption.java:148)
	at org.jamwiki.utils.Encryption.encrypt64(Encryption.java:58)
	at org.jamwiki.utils.Encryption.encrypt(Encryption.java:98)
 	(snip)

I just moved the wiki from Resin to WebSphere and finally to a second instance of Resin on a new host. I would be happy to simply delete the existing users so we can register again. There are only three users, including the admin user. Hard to do anything when the admin user cannot log in. Bob White 09-Jun-2009 09:49 PDT

That error should indicate a CLASSPATH problem rather than a data issue - javax.crypto.SecretKeyFactory is a part of the standard JDK, but for some reason it seems like your app server can't find it... I don't know if it will help, but this discussion sounds like a similar issue. -- Ryan • (comments) • 09-Jun-2009 12:07 PDT
Problem turns out to have been that I needed to use JRE 6, but was using JRE 5. Since there are other apps running on this server, I could not fix it the easy way by changing the JAVA_HOME environment variable to point to JRE 6. Instead, I had to reinstall the service (I'm running resin under Windows) and include a command line switch to designate JAVA_HOME.
resin -install -java_home "C:\Program Files\Java\jre6"
When running resin as a Windows service, the "Path to executable" shown in the service Properties page is something like
%RESIN_HOME%\resin.exe ... -java_home %JAVA_HOME% ... -java_home "C:\Program Files\Java\jre6"
Note that the switch -java_home is repeated, first with the environment variable definition of JAVA_HOME and again with the value that I had put on the end of the command line when I re-installed resin as a service. The value assigned in the second occurrence of the switch is the value passed to the program. It overrides the default.

To be clear, this was not at all a bug in JAMwiki, just a misconfiguration of caucho resin that affected JAMwiki in this way. Thanks for your help. Bob White 09-Jun-2009 16:27 PDT

Thanks for the followup - glad it's working! -- Ryan • (comments) • 10-Jun-2009 07:04 PDT

[Edit]MySQL Import

Hello, I'm having problems migrating from HSQL to MySQL, probably because my DB is soo big. I cannot export to CSV, neither use the migration script. When using the migration script from the Maintenance page, I get the following error:

 Changes HAVE NOT been saved
 An unknown system error has occurred. The error message is: Data truncation: Data too long for column 'version_content' 
 at row 1.

When trying to export to CSV I get an out of memory error. Could you indicate where the migration script is located so I can review and eventually adapt it to test? -- Eric 09-Jun-2009.

I'll try and reproduce as soon as possible. I know Postgres import should work but I haven't yet tried MySQL. -- Ryan • (comments) • 09-Jun-2009 12:34 PDT

Hi Ryan,

I got it working! Successfully migrated from HSQL to MySQL using the MySQL Migration Toolkit and changing a lot of table options in the scripts and data. Basically the indices from HSQL do not get translated and are unusable with the MySQL install of Jamwiki resulting in not displaying any data in the wiki. Also the foreign keys need to be deleted if using MyISAM. Most important thing is that it's working great! Thank you for all your assistance over the last weeks. If you want the exact procedure please let me know and I'll be happy to provide it. Eric 11-06-09 11:10.

[Edit]History for redirects

If a page is currently a redirect then it is not possible to view its history. See http://jamwiki.org/wiki/en/Special:History?topicVersionId=12286&topic=Test. -- Ryan • (comments) • 29-Jun-2009 08:22 PDT

[Edit]Login "Remember Me"

The state of the "Remember Me" checkbox is not remembered on a failed login. -- Ryan • (comments) • 29-Jun-2009 08:22 PDT