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

Comments:JAMWiki 0.9.2

0.9.1 manual upgrade db steps[edit]

Archived from the Feedback page:

I'm trying to upgrade 0.8.4 to 0.9.1 and I'm running into issues with the db schema. Database is Oracle 10g. The manual upgrade steps state to create 2 tables (jam_namespace, jam_namespace_translation), but there is an issue running the SQL.

The first table creation has an issue on the jam_f_namesp_namesp foreign key because the namespace_id column doesn't exist yet in jam_topic. So I jump down to that sql and run it, but then there is another issue on the creation of the jam_f_topic_namesp constraint creation because the namespace_id column in the jam_topic table is new and defaulted to 0. Since there is no data in the jam_namespace table, the db can't find a record with namespace_id 0.

Anyway - those are just constraint issues...shouldn't be a big deal, right? Wrong. I go to deploy the app, I get the Special:Setup page (and not the Special:Upgrade page for some reason). I enter the data for my setup and click Continue and I'm faced with Exceptions....most notably:

java.lang.IllegalStateException: Unable to determine namespace for topic.  This error generally indicates a configuration or database issue.  Check the logs for additional information.
	at org.jamwiki.utils.LinkUtil.parseWikiLink(LinkUtil.java:404)

Since there is no insert SQL statement to populate the jam_namespace table, I cannot move forward.

Now I also see this error after sticking some data in the jam_namespace table:

java.lang.NullPointerException
	at org.jamwiki.servlets.ServletUtil.cachedContent(ServletUtil.java:122)
	at org.jamwiki.servlets.JAMWikiServlet.buildLayout(JAMWikiServlet.java:83)
	at org.jamwiki.servlets.JAMWikiServlet.loadLayout(JAMWikiServlet.java:329)
	at org.jamwiki.servlets.JAMWikiServlet.viewError(JAMWikiServlet.java:368)
	at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:266)
...
Thanks for the report. There is a typo in the UPGRADE.txt SQL. The constraint should be:
   CREATE TABLE jam_namespace ( 
     namespace_id INTEGER NOT NULL, 
     namespace VARCHAR(200) NOT NULL, 
     main_namespace_id INTEGER, 
     CONSTRAINT jam_p_namesp PRIMARY KEY (namespace_id), 
     CONSTRAINT jam_u_namesp_namesp UNIQUE (namespace), 
     CONSTRAINT jam_f_namesp_namesp FOREIGN KEY (main_namespace_id) REFERENCES jam_namespace(namespace_id) 
   )
In addition, the UPGRADE.txt doc needs to be updated to include namespace creation, as you've noted. Sorry for the oversight - I always use the automatic upgrades and obviously didn't test this upgrade path, but I'll get it fixed for 0.9.2. Please let me know if you encounter any additional problems. -- Ryan • (comments) • 10-Aug-2010 15:04 PDT
revision 3161 should address this issue for JAMWiki 0.9.2. I've credited you as "an anonymous user" in the CHANGELOG, but please let me know your real name if you prefer it to be used. -- Ryan • (comments) • 14-Aug-2010 19:10 PDT