Feedback
Redirected from Comments:Feedback

This page is for comments, questions, or discussion items below. Related discussion pages include:

  • FAQ - Answers to Frequently Asked Questions. Please check the FAQ page before posting questions or bug reports.
  • Bug Reports - Please report any bugs on this page.
  • Feature Requests - If there is a feature that you would like to see added please discuss it on this page. See the Roadmap for a list of planned features.
  • How to Help - For those interested in implementing a specific feature.
  • Roadmap - A list of planned features for future releases.

It would be easiest if any new discussion was listed under its own heading, which can be done by entering the following code:

==This is a new Heading==

Archives

This page tends to get crowded, so several discussions that have been resolved have been moved elsewhere:

Also see the Archived Feedback page for more old discussions.

Templates conditions

Hi, I am trying to do some templates and infoboxes. I managed to create an infobox template with proper positioning, however I can not find a way to use conditions in it, for example to show {{{picture}}} only if the value is present. mediawiki offers this via parser functions. Example : this only shows value of some_field property if user specified its value

{{#if:{{{some_field<includeonly>|</includeonly>}}}|{{{some_field}}}
however this does not work for JAMwiki. So is there any way to include a property value only if it is specified? Any other info about using Templates (especially infoboxes) would be greatly appreciated. In case I was not clear enough , I would like to get this done: wikipedia:Infobox company

Thank you, Matus

JAMWiki doesn't yet implement Mediawiki's parser functions (soon, hopefully), so in the mean time you should be able to use Template:If, which is what was used on Mediawiki prior to the creation of the parser functions. For example:
{{if
|test=
|then=test is not empty
|else=test is empty
}}

Result: test is empty

{{if
|test=text
|then=test is not empty
|else=test is empty
}}

Result: test is not empty

-- Ryan 03-Apr-2008 10:51 PDT
Thanks a lot Ryan, good luck with development Matus 04-Apr-2008 01:41 PDT

IE7 Layout Issue

Screen shot of the issue
Screen shot of the issue
When a table of contents and an image (aligned to the right) are both displayed in the header the left side menu is covered by the contents div.

The issue only occurs in IE7. The same pages display fine in firefox.

I did have some luck editing the stylesheet, but nothing that looked good in both ie and firefox.

If any comments/suggestions please leave a subheader in under this heading, thank you and my apologizes if this issue was already solved.

-wbryan, 2008-04-02

Thanks for the detailed report, I'll look into it tonight and see if I can find a decent workaround. In the mean time if anyone else has a suggestion feel free to post the CSS below. -- Ryan 02-Apr-2008 13:35 PDT
Try getting rid of the "clear:both" on the toc-container style - that worked for me with both Firefox and IE7, although I haven't tried IE6 yet. Hope that helps! -- Ryan 02-Apr-2008 21:10 PDT
It worked like a charm. Thanks for the quick answer. You do a fine job.
-wbryan, 2008-04-03

Migrating from HSQL to MySQL||PostgreSQL||insert your favorite database backend

I searched. I looked around. Nothing discussed that stood out as "what I'm trying to do..." So, I've been toying around with JAMWiki (v0.6.5) for about a month on my laptop running it "out of the box" with HSQL. I have liked JAMWiki so much I started using it to store data that is intended for production. How do I dump my HSQL data so to feed it back to a production database like PostgreSQL or MySQL?

I did a few quick internet searches to see if there was an easy way to export data from HSQL, but didn't have much luck finding anything. Since a number of people have asked for this functionality it is probably something that needs to be done soon, so would it be useful to have the data in some sort of XML dump? It would then be up to you to import that file into a database, but I suspect that most databases support XML import these days. Note that this would not be the full XML import/export that people have asked about, but simply a rough "dump everything to an XML file on the filesystem" sort of tool. If that would be useful let me know and I can try to throw something together this week. Alternatively, if there is another suggestion that can be done I'd be interested in hearing ideas. -- Ryan 29-Mar-2008 20:26 PDT
I think useful. Most definitely a start. Thank you Ryan! The OpenOffice site had some hints about exporting HSQL to CSV that might be helpful, here and here.
I missed the second link while search yesterday - that one should be extremely easy to put in place. Let me see what I can do. -- Ryan 30-Mar-2008 09:26 PDT
revision 2134 is a first attempt at adding this functionality. It needs a bit more work to fix a corner-case where data could be incorrectly appended to the CSV file, but hopefully it should be sufficient for most users. Feedback is appreciated - I'll try to roll a beta of the 0.6.6 version (including this change) within the next few weeks. -- Ryan 30-Mar-2008 13:42 PDT
revision 2141 should resolve the issue with multiple exports appending to the CSV files instead of ovwriting them. The only remaining issue I'm aware of is that exporting non-ASCII characters seems to convert everything to ASCII. I've set the textdb.encoding property using several different approaches with no luck, so I'm not sure if this is an HSQL issue, an issue specific to my laptop setup, or some other problem. For now I'll leave it to some other interested person to investigate and (hopefully) resolve, although if enough people find it to be a major problem then I'll revisit it. -- Ryan 31-Mar-2008 22:40 PDT
I also had a need to migrate from the initial internal HSQL database to a production database. In order to make this as easy as possible, I wrote a new Admin-only function Migrate Wiki to New Database accessed via the "Special:Maintenance" page. This option creates the JAMWiki database tables in the new database, copies across the table contents from the old database into the new database, and then updates the configuration to point to the new database. It needs to be tested with more databases (I used it to go from HSQLDB to Sybase ASA and back), but I think it should work for all of the databases supported by JAMWiki. I've added some documentation for this to Migrate Wiki to new Database, checked in as revision 2168 -- Dallas 12-Apr-2008 10:01 PDT

Citations

I am looking at the code for WikiReference and how it appears to serve as a container for some content, where a vector of citations is passed to the parser. My goal is to implement something along the lines of Purple Numbers that grant fine-grained addressability to sentences, paragraphs, images, etc. Is there an explanation of how WikiReference objects could be extended to support that?

To be honest I haven't looked at the reference code in a while, so I'll need to refresh my memory to answer your question. I'm a bit fried from working at the moment, but I'll make a note to look through it some time in the next couple of days unless you figure out what you need without any additional input. Let me know if you come up with anything interesting! -- Ryan 06-Mar-2007 21:56 PST
Thanks! It seems to me that the trick, at least for me, is to wade through all the code to figure out when and where citations come into being, then decide if the WikiReference objects are appropriate to modify to include an identifier, if one doesn't already exist, such that a tweaked JSP code would write purple numbers usable for external direct reference. --Jack 07-Mar-2007 14:36 PST

Signatures in templates

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

Wiki / database integration

I'm developing a web based database front end that integrates with a wiki. Basically, the idea is that every record can have an associated wiki page. There's a one to many relationship between wiki pages and db records (each wiki page can be linked to from more than one record) and wiki titles can be included in db reports.

JAMWiki is used because amongst other things its db schema is simple to understand and integrate with. You can query the db storage directly to retrieve titles and content. However, somewhere along the way I'll probably look at the interface to choose which wiki page to link to a db record. What would be good would be if I could use the Lucene search engine in JAMWiki to search for content just like you do in JAMWiki itself. I've had a look and can call the JSP search results page by URL directly with a search string. However, for integration I'll need to use a modified template with a different design and probably some JavaScript. Is it / could it be possible to include a parameter in the request to use an alternative JSP results template?

Does anyone have any alternative ideas?

A video showing the product is here: http://www.gtportalbase.com/video/gtwp_section_leader.htm. The wiki stuff is about halfway through.

82.32.115.35 21-Apr-2007 12:29 PDT

Apologies for not responding to this issue sooner. It should be possible to re-work the search engine code to allow anyone to create an alternative search engine implementation by simply implementing the SearchEngine interface, although that's currently untested and incomplete in the existing code. In any case, it would be nice if someone who wanted to customize the search code could simply change a Special:Admin option, which would also allow JAMWiki to integrate more easily with sites that already have their own search engines. -- Ryan 06-May-2007 21:43 PDT

Rename Default Virtual Wiki

How can I rename the default virtual wiki from "en" to "something"? Thanks.

At the moment it is possible to create a new virtual wiki, but it isn't possible to change the default from "en". Feel free to add a feature request under Roadmap#Unscheduled since this would be a useful feature to have. -- Ryan 13-May-2007 18:05 PDT

Search Indexing

Hi Ryan, I am running JamWiki 0.5.1. And I realised that the search does not return the results correctly. I have tried to search for a topic that was created, however the search results does not show the topic. I will have to click on "Go To" then it will direct me to the topic. I am unable to upgrade the JamWiki version because it has been customised before. Do you have any solutions to this? Thanks. -- Kwee Tin 17-May-2007 00:59 PDT

What is the term you're searching for, and how does it appear in the page? Could you create that same topic here on jamwiki.org so that we can see if the bug is reproducible? -- Ryan 17-May-2007 08:54 PDT

Hi Ryan, after I did some testing, I realised that I have to edit all the pages in order to generate the search index. After that, the search results display all related topics to the search term. May I know if there is a way to generate the search index by one click? Thanks. -- Kwee Tin 20-May-2007 17:58 PDT

Pages should be automatically added to the index when they are created, but if you are using some other method to create pages then you can use the "Rebuild search index" option from the Special:Maintenance page. Note that if you have a lot of pages it will be slow. -- Ryan 20-May-2007 18:08 PDT

Categories

Hi Ryan, what is it about Categories (you know the tags at the bottom of the page). I thought having more than one category on one page. Is this possible, should it be? Or is it the wrong way because you should create two different pages (topics) with each own category? -- Michael Habbert 31-May-2007 11:00 PDT

Yeah, multiple categories for a single topic should work - see FAQ, which has three categories. That behavior is consistent with how Mediawiki implements categories (see http://www.mediawiki.org/wiki/Help:Categories) What problems are you seeing? -- Ryan 31-May-2007 18:03 PDT
Hi, no problems at all - I just was confused ab how to do it and if it make sense at all. ;-) Thanks. -- Michael Habbert 05-Jun-2007 02:31 PDT

DATASOURCE_README.txt

The DATASOURCE_README.txt file has been in Subversion since the days before JAMWiki forked from Very Quick Wiki. I didn't delete it because I don't use data sources and wasn't sure if the information is valid or not. Can anyone confirm whether the configuration for data sources outlined in that file is accurate? If so then the information should be added to Configuration#Persistence settings and Installation#Database Configuration, and if not the file should probably be deleted. -- Ryan 22-Jul-2007 10:58 PDT

Linebreak in Tablecell

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

jamwiki.org: short idle time for logged in users

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

Using permissions to hide pages

Our department wants to put non-public data into JW which can only be viewed by members of our department. It is not plain to me whether it's possible to define rolls to fit to this. -- Frank 14-Sep-2007 04:26 PDT

Currently that level of granularity is not available. If it's absolutely a requirement for you then it might be achievable by creating a new role for the department (ROLE_DEPARTMENT_FOO), assigning that role to department members, and then requiring that all hidden topics for that department use a specific prefix, such as "DepartmentFoo/Topic". You would then need to manually modify the /WEB-INF/applicationContext-acegi-security.xml file to add the following lines to the "filterInvocationInterceptor" section such as:

<value>
    PATTERN_TYPE_APACHE_ANT
    /**/Special:Admin=ROLE_SYSADMIN
    /**/Special:Edit=ROLE_EDIT_EXISTING,ROLE_EDIT_NEW
    /**/Special:Login=ROLE_ANONYMOUS,ROLE_USER
    /**/Special:Maintenance=ROLE_SYSADMIN
    /**/Special:Manage=ROLE_ADMIN
    /**/Special:Move=ROLE_MOVE
    /**/Special:RecentChangesFeed=ROLE_ANONYMOUS,ROLE_USER
    /**/Special:Roles=ROLE_SYSADMIN
    /**/Special:Setup=ROLE_ANONYMOUS,ROLE_USER
    /**/Special:Translation=ROLE_TRANSLATE
    /**/Special:Upload=ROLE_UPLOAD
    /**/Special:Upgrade=ROLE_ANONYMOUS,ROLE_USER
    /**/DepartmentFoo/**=ROLE_DEPARTMENT_FOO
    /**/Special:*DepartmentFoo/**=ROLE_DEPARTMENT_FOO
    /**/*.jsp=ROLE_ANONYMOUS,ROLE_USER
    /**=ROLE_VIEW
</value>

Note that any changes to this file will require a server restart before they are active. This approach is definitely a hack, I haven't tested it so it may have issues, and there will probably still be ways for a motivated individual to work around it, but if it's a requirement for your company then this might be a decent temporary solution until that functionality is eventually available in JAMWiki (and note that it's not imminent, but will probably be added at some point by someone). Hope that helps. -- Ryan 14-Sep-2007 06:19 PDT
One additional note, upgrades can't support customizations and will overwrite the /WEB-INF/applicationContext-acegi-security.xml file, so if you take this approach you will also need to remember to re-add your customizations after any upgrade. -- Ryan 14-Sep-2007 06:22 PDT
Thank you....... testing at last....it works! I'm confident that this will expedite JWs acceptance in our company. -- Frank 21-Sep-2007 02:48 PDT

Implementing a UserHandler to access external user data

I am trying to setup a JAMWiki for http://publicpress.org , a site that already has a user base with its own set of usernames/passwords etc. I implemented a UserHandler but it only seems to get invoked if I try to login with a user that I have created using JAMWiki. I don't really care about the "All Users" listing etc, so there is a way to easily make JAMWiki completely depend on my UserHandler? It seems to do some checking against some notion of an internal list of users, then not finding the user I want to authenticate, doesn't even call my UserHandler.

JAMWiki needs to maintain an internal list of authors so that the wiki can determine how to credit each user. It is possible, however, to use an external system for authenticating those users. It sounds like the feature you need is for JAMWiki to automatically create a jam_wiki_user record for any user who is authenticated but does not yet exist in the JAMWiki database.
That's a pretty basic feature, but since no one has requested it before it was never included in the default wiki code. If it's something you'd be interested in adding let me know, otherwise if you're willing to wait a bit I can investigate when next I have time to sit down and write code. In either case, it's a feature that will eventually get added, it was just waiting for someone to come along who needed it :) -- Ryan 22-Oct-2007 21:25 PDT

Character set problem

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

Upgrade from 0.5.4 to 0.6.1

Today I did upgrade to 0.6.1 (using tomcat 5 with java 1.5 on a linux machine with mysql -> everything worked fine! Thanks to all of you. -- Michael Habbert 29-Oct-2007 07:46 PST

Glad it went smoothly, and thanks for the positive report! Given some of the recent bug reports I was beginning to fear that I was the only person who was able to upgrade without incident! -- Ryan 29-Oct-2007 22:16 PST

LDAP Setup

I would love to use my LDAP server to authenticate my JAMWiki users - but I was unable to find something like a howto/sample configuration/etc.? Did I miss anything? More precisely my current questions are:

  • What do I use as "LDAP Factory-Class"? Do I have to provide this class or is there any already included?

(The other LDAP options on the admin page are pretty much straight forward.)

  • How (if) does the role-management with LDAP work? Do I have to provide special attributes? Put the users into special groups?

Thanks! -- Andy 03-Nov-2007 00:26 CET

The LDAP code is unfortunately incomplete and not particularly well-tested; when it was put in place it allowed a user's password and login to be verified against an LDAP server, but LDAP roles were never integrated. With respect to the LDAP factory class, LDAP implementations generally provide a JAR file that contains a factory class used for creating LDAP connection - that's the class to specify.
Any feedback you have about the current state of the LDAP implementation and what is missing or needs improvement would be appreciated - integrating with Acegi's LDAP support is on the to-do list, but since it hasn't been a heavily requested feature no one has gotten around to implementing it yet. -- Ryan 04-Nov-2007 08:05 PST
Thanks Ryan - that is somehow the situation I derived from reading the infos in the wiki. Is anybody out there really using LDAP with JAMWiki? Or am I completely on my own? I would appreciate some more details on how to use it, which LDAP implementation(s) have been used successfully and where to start integrating Acegis. Thanks. -- Andy 04-Nov-2007 18:50 CET
I can't honestly say I recall seeing any success reports with LDAP, although generally people only report problems. The biggest issue with the LDAP code is that it was started at the same time the Acegi integration was being done, and in the future the preferred method for handling LDAP would be through Acegi so no further work has been done. If you're saying it doesn't work I can hide it in the next release, and hopefully revisit it in the future. Sorry for the confusion, and thanks for the feedback! -- Ryan 08-Nov-2007 07:15 PST
Since LDAP is a current discussion issue I looked through the latest Acegi code in Subversion, and it looks like LDAP and tighter integration with Spring are major focuses of development for them, so when they release version 2.0 it will be a good time to revisit JAMWiki's security model and work on things like better LDAP integration. In the mean time I think JAMWiki may need to continue along with a somewhat incomplete LDAP integration, although it apparently IS functional given the comments below. -- Ryan 08-Nov-2007 21:21 PST

I've been looking through the code. As an intermediate solutions I would suggest something similar to this:

  • Extend the UserHandler to also retrieve roles for the user (e. g. lookupWikiUser(userName)).
  • Make the UserDetailsService (JAMWikiDaoImpl, InMemoryDaoWithDefaultRoles) use the UserHandler (instead of the DataHandler).
  • Extend the DatabaseUserHandler+LdapUserHandler to use the DataHandler to implement the extended UserHandler interface.
  • Create an AcegiLdapUserHandler to use Acegis methods to retrieve the data from LDAP. This would probably require a few more configuration properties but could also reuse a few of the LdapUserHandler.

Would such a UserHandler-Implementation still need to create all users in the database (as the InMemoryDaoWithDefaultRoles does)?

What do you think? Did I miss anything? If I find a few hours I could try to provide you with a patch? --Andy 10-Nov-2007 06:34 PST

These suggestions all seem sensible, and the first two look like they would be good ideas from even just an organizational standpoint. I'd like to try to use as much of the Acegi LDAP classes as possible, but it sounds like that's something you've considered. My understanding is that Acegi LDAP is still incomplete and is being further fleshed out for Acegi 2.0, so once that release is done I'd ideally like it to be relatively painless to transition JAMWiki code to allow Acegi to handle all of the authentication and authorization details.
The biggest issue, which you've pointed out, is that there needs to be a way to tie edits to users in the JAMWiki database, which is why user accounts were split into jam_wiki_user and jam_wiki_user_info in the first place. I suspect there will be some pain in making sure that a wiki user object exists for all authenticated users, but would need to spend some time looking at code to figure out exactly what's needed.
I'll have more time tomorrow to work on writing code, so I'll hopefully be able to look more closely at your proposal then. That said, I don't have an LDAP server that I use regularly, so it sounds like you have a better grasp of the issues and have looked into this issue. If the changes above work for you and can be implemented in a way that doesn't break existing implementations then I'd say give it a try - if you have a Sourceforge ID let me know what it is and I can give you Subversion access so that you can create your own branch and test things out. -- Ryan 10-Nov-2007 12:40 PST

When will the production release happen?

Hi Ryan,

We are using JAMWiki for a quite a long time. Apart from the bugs i have posted we don't face much problems in it. We are expecting the production release of JAMWiki soon. Can you tell when is the production release planned for JAMWiki? Also some of the bugs remain unfixed. Particularly the DB2 issues and the setup issue. Really had good experience working with JAMWiki. Thank you.

--yesesnono 12-Nov-2007 02:53 PST

Thanks for the positive feedback! The DB2 issues are actually problematic - I tried downloading an evaluation version from IBM, but it requires XP Professional, which I don't have on my laptop. We use XP Professional at work, so one weekend where I'm feeling particularly motivated I'll set up DB2 and try to resolve the remaining problems.
In terms of a "production release", I assume you mean a 1.0 release? The current code should be solid enough for day-to-day use in a production environment. Initially I figured 1.0 would happen when JAMWiki implemented all major Mediawiki functionality, including the ability to import and export topics from one system to another, send email notifications, use parser functions, etc. Lately, however, work is keeping me busy enough that I can't put in the time necessary to focus on a roadmap of major features, so I've just been bumping the sub-major version number whenever a significant update is made to the software (example: 0.6.0 included significant changes to user authentication and authorization). As a result, 1.0 may actually mean "four more major updates to the code base", and wherever we're at when that happens will be 1.0. Aside from the psychological value of a "1.0" it's not something I worry about too much, but if others have opinions please add them, and if changes to versioning are needed then they can definitely be considered. -- Ryan 12-Nov-2007 08:20 PST

A suggestion

Hi Ryan, Please, update before the next release, as did some corrections and may not be the last. I have a suggestion: the home page of the wiki could be translated to different languages. I think that would get a lot more people interested in JAMWiki.

Just to clarify, are you referring to jamwiki.org, or to new JAMWiki installs? The two options are:
  1. For new JAMWiki installs, the starting page and other pages can be translated as described on How to Help#Default Topics.
  2. If there is an interest in translating jamwiki.org I'd be happy to set up language-specific virtual wikis. My only concern is whether there are currently enough contributors to support translated versions of the web site.
In any case, thanks yet again for all of your work. It will all be included in the next release, and I've added you to the CREDITS file for both Spanish and Galician as "Manuel Meixide (mmeixide)" - let me know if you would prefer a different credit. -- Ryan 18-Dec-2007 20:05 PST

One never know if there are people interested in translating jamwiki.org... before trying it. For instance, the www.delilinux.de page, wiki and forum were only in German and English few months ago. I translated it to Galician (fully) Spanish and Portuguese (most of it). Now you can check there that several more languages were included later. About the credits: Would it be possible to include "from bagonix.net and ciberirmandade.org" ?--mmeixide 22-Dec-2007 04:40 PST

It can't hurt to give it a try :) I'm not sure that it would be feasible to translate everything that's on jamwiki.org, but for things like user documentation it would definitely make sense to make that available in other languages. I don't have time to come up with a complete list right now (it's the holidays), but things that would be good to translate include:
That's off the top of my head and in a bit of a rush (Christmas Eve and all)... if there are suggestions or anything else please let me know, otherwise I'll look into the technical issues after the holidays. Thanks for the original suggestion! -- Ryan 24-Dec-2007 21:26 PST

I am back from holidays travel but I have some more free days. I have been checking MediaWiki, and they have translated the starting page to 32 languages but other pages are less translated (for instance "Navigation" page is translated to 11 languages). I agree that the pages you have selected are the more interesting to be transtated. I will start to translate it to Galician and Spanish if you create the pages (or if you tell me how to do it). I have found also a volunteer to work with the Portuguese one.--mmeixide 03-Jan-2008 00:47 PST

Welcome back! I'll try to set up virtual wikis (ie http://jamwiki.org/gl/ and http://jamwiki.org/es/) for Galician and Spanish this weekend. In the mean time, if you're anxious to do a few more translations, at the moment the default topics that JAMWiki installs with for Spanish and Galician will still be in English - what that means is that a new installation will have translations for all of the fields that you've translated, but the default StartingPoints, LeftMenu, BottomArea and Special:Specialpages will be in English... soooo, if you're willing it would be great to get those four files translated. How to Help#Default Topics has instructions - just download the English version from the Sourceforge link provided, and I'll then include translated versions for the next release. Let me know if that's not clear or if you have any questions, and again, thanks a million for all of your help. -- Ryan 05-Jan-2008 08:02 PST

Hi again! I have translated the "Default Topics", both Galician and Spanish, and uploaded it here, with the Special:Upload page. I hope it is there... I will continue as soon as the virtual wikis are ready--mmeixide 07-Jan-2008 09:36 PST

Sorry, I totally forgot about setting up the virtual wikis - if I forget to do do it tonight after work please leave lots of nasty messages for me :) Thanks for the default page translations - I'll put all of those into Subversion when I get home. -- Ryan 07-Jan-2008 11:23 PST
I've set up the Galician virtual wiki and the Spanish virtual wiki, although I'm going to have to put together a script so that http://jamwiki.org/ will redirect appropriately - that may not happen for a few more days. I've also added bagonix.net and ciberirmandade.org in your entry in the pom.xml file, although there wasn't enough room in the CREDITS.txt file for both (80 characters per line), so let me know if you'd prefer to have one of the URLs in there. Let me know any suggestions you have for further publicizing any translated files - I suspect at a minimum a "languages" box like Mediawiki offers will be needed. -- Ryan 07-Jan-2008 22:01 PST

I can't edit some pages where I forgot to translate some links: http://jamwiki.org/wiki/gl/Special:TopicsAdmin http://jamwiki.org/wiki/gl/Special:Allpages http://jamwiki.org/wiki/gl/Special:Specialpages

There are also some other minor changes that I don't know how to do: I can't change the Page title: LeftMenu, that should be: Menú esquerdo I can't change the Page title: BottomArea, that should be: Pé de páxina

May I have to download the pages again, correct it and upload it again?

The same comments go to the Spanish translation, that was made in paralell and with the same criteria

About your questions: Credits: I prefer bagonix.net (that is our local linux group thet will open to public soon) Publicizing translated files: I agree that a "languages" box like Mediawiki offers will be needed. What I have done with other translations is to publicize it in the net, in apppropiate places, and put a link in the wiki to all that places. That helps to publicize what has been done, to get more users for the trtanslated versions, and to encourage new translations. You can see an example here: http://www.delilinux.org/wiki/doku.php?id=galego:reports:reviews ... that's all for now, and happy new year, if I forgot to say that before (probably I did :) --mmeixide 12-Jan-2008 12:05 PST

Thanks (again!) for all of your work. At the moment I don't think the code will support translating the names for pages like BottomArea, so that's something I'll need to look into for 0.6.4. I'll keep you updated as progress is made on that effort, but it will probably be several weeks (at least) before it gets done. A "languages" box similar to what's on Wikipedia should be easier, and I'm hoping to get that ready early in the 0.6.4 development process.
I'll update the credits information shortly for inclusion in the 0.6.3 release, and happy New Year to you as well! -- Ryan 13-Jan-2008 15:47 PST

Sorry I have explained it in a wrong way: I don't mean to change the page name, but the page title that appears in the page. I changed it in some pages, but I forgot to do it in some others. The same happens with some links that I forgot to change, and now I can't edit them. Anyway, if there is no way to change, it doesn't matter so much, as most of it is already translated.--mmeixide 14-Jan-2008 16:03 PST

Sorry, I lost track of this discussion and forgot to respond - feel free to add gentle reminders if I fail to respond after a day or two! Regarding the pages that you mentioned:
Feel free to make any changes you need using the latest version of these pages in Subversion, and then just upload them here and I'll make the required updates. The items I still have to do to support the translated versions of jamwiki.org are:
  • Add an "other languages" box.
  • Add support for links of the form [[es:StartingPoints]] to populate the "other languages" box.
  • Update my scripts to make sure that when new wiki code is uploaded to jamwiki.org it doesn't overwrite the virtual wiki configuration.
  • Potentially add support for changing the default topic name for other languages.
The above items may take a while, depending on how busy things are at work, but they should eventually get done. Let me know if I've forgotten anything, and as always thanks for all of your contributions. -- Ryan 19-Jan-2008 17:56 PST

Incremental backup

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

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

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

Admin Add/Create User

Hi there! We are hoping to use JAMWiki in a 'closed' Wiki scenario (I know it's kind of against the spirit of the application!). I have removed all permissions from the anonymous user, which appears to stop all unauthorised access to the wiki, but there doesn't appear to be a way for the admin user to create legitimate accounts for users. Any help gratefully received.

At the moment there isn't any way to register another person. What you might be able to do is to remove permission checks for the Special:Account page and let people register themselves - to do so you could modify /WEB-INF/applicationContext-acegi-security.xml and update the "filterInvocationInterceptor" to look like the following:

	<bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
		<property name="authenticationManager">
			<ref local="authenticationManager" />
		</property>
		<property name="accessDecisionManager">
			<ref local="accessDecisionManager" />
		</property>
		<property name="objectDefinitionSource">
			<value>
				PATTERN_TYPE_APACHE_ANT
				/**/Special:Admin=ROLE_SYSADMIN
				/**/Special:Edit=ROLE_EDIT_EXISTING,ROLE_EDIT_NEW
				/**/Special:Login=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Maintenance=ROLE_SYSADMIN
				/**/Special:Manage=ROLE_ADMIN
				/**/Special:Move=ROLE_MOVE
				/**/Special:RecentChangesFeed=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Roles=ROLE_SYSADMIN
				/**/Special:Setup=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Translation=ROLE_TRANSLATE
				/**/Special:Upload=ROLE_UPLOAD
				/**/Special:Upgrade=ROLE_ANONYMOUS,ROLE_USER
				/**/*.jsp=ROLE_ANONYMOUS,ROLE_USER
				/**/*.css=ROLE_ANONYMOUS,ROLE_USER
				/images/**=ROLE_ANONYMOUS,ROLE_USER
				/upload/**=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Account=ROLE_ANONYMOUS,ROLE_USER
				/**=ROLE_VIEW
			</value>
		</property>
	</bean>

An admin user could then add specific permissions to that account. Alternatively, if there is some way that JAMWiki could be updated to accommodate your use case feel free to propose a solution, and if time permits and it's not too difficult to implement it could be included in an upcoming release. -- Ryan 29-Jan-2008 12:38 PST

How to display a images from /images directory of jamwiki

we have bunch of icons and images for the Look and feel for our wiki installation. and we kept those icons under /images direcory and want to use it in our pages, i used the <img> tag for these. wiki parser is just ignoring this. please advice. we dont want to upload the images to wiki using upload tool. --Durga 05-Feb-2008 12:59 PST

MySQL Timestamp error

Issue with a new install after saving my database configuration (MySQL 4.1.22). I'm on Tomcat 6.0.16, JDK 1.6.04 and JAMWiki 0.6.3. The error I get is:


java.lang.Exception: Failure while executing CREATE TABLE jam_wiki_user 
( wiki_user_id INTEGER NOT NULL, 
  login VARCHAR(100) NOT NULL, 
  display_name VARCHAR(100), 
  create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, 
  last_login_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, 
  create_ip_address VARCHAR(39) NOT NULL, 
  last_login_ip_address VARCHAR(39) NOT NULL, 
  remember_key VARCHAR(100) NOT NULL, 
  default_locale VARCHAR(8), 
  CONSTRAINT jam_p_wuser PRIMARY KEY (wiki_user_id) )

...

Caused by: java.sql.SQLException: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

Anyone seen this?

This mysql page http://dev.mysql.com/doc/refman/4.1/en/timestamp.html might help.

-Doug Donohoe (doug (at) donohoe (dot) info

Thanks for the detailed report. The MySQL scripts actually only use one CURRENT_TIMESTAMP for that table, so it looks like you may have accidentally selected the wrong "database type" setting. Alternatively, if the database type that was selected is definited MySQL there could possibly be another issue, although MySQL setup has been fairly reliable for most users. -- Ryan 23-Feb-2008 13:13 PST


Whoops. I overlooked the database type drop-down list. That fixed the problem. Perhaps in the future the configuration step can try and auto detect based on the JDBC driver. Thanks for the hint.
That seems to be a fairly common mistake, so it's definitely worth considering some ways to simplify. Unfortunately development time is not in plentiful supply, and changes to the setup process require a ton of testing, so it may be a while before that gets revisited, but I'll keep this suggestion around. -- Ryan 24-Feb-2008 08:39 PST

User Defined Roles

I installed JAMWiki 0.6.3 and was impressed with ease of installation and configuration. Up and running in five minutes.

I work with a number of developers and we are using a few different Wikis to track code snippets and as a knowledge base for support of our systems. I noticed the ability to create user defined roles and I was interested in using roles to provide a private area for a select group. We keep password information for our systems that we want to share with a few developers. So I need the capability to limit viewing to the users with a specific role. Similar to the Admin functionality and is already built into JAMWiki. I could easily set up a user defined role and assign it to users but I could not find documentation on how the role is then used against a specific page. If this type of functionality available or is this still under development? If you can point me to any additional documentation I would appreciate it.

Thanks for a great Wiki. --Tom 28-Feb-2008 08:35 PST

Thanks for the kind words - it's definitely nice to get some positive feedback in the midst of the bug reports and rants that are more common :) Regarding creating pages that are limited to a select group, unfortunately there isn't much documentation on that yet, but you could do something like the following:
  1. Create a role such as "ROLE_RESTRICTED".
  2. Assign your developers to this role.
  3. Modify the /WEB-INF/applicationContext-acegi-security.xml file and modify the "filterInvocationInterceptor" bean section to restrict a certain path to users with ROLE_RESTRICTED:

		<property name="objectDefinitionSource">
			<value>
				PATTERN_TYPE_APACHE_ANT
				/**/Special:Admin=ROLE_SYSADMIN
				/**/Special:Edit=ROLE_EDIT_EXISTING,ROLE_EDIT_NEW
				/**/Special:Login=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Maintenance=ROLE_SYSADMIN
				/**/Special:Manage=ROLE_ADMIN
				/**/Special:Move=ROLE_MOVE
				/**/Special:RecentChangesFeed=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Roles=ROLE_SYSADMIN
				/**/Special:Setup=ROLE_ANONYMOUS,ROLE_USER
				/**/Special:Translation=ROLE_TRANSLATE
				/**/Special:Upload=ROLE_UPLOAD
				/**/Special:Upgrade=ROLE_ANONYMOUS,ROLE_USER
				/**/*.jsp=ROLE_ANONYMOUS,ROLE_USER
				/**/*.css=ROLE_ANONYMOUS,ROLE_USER
				/images/**=ROLE_ANONYMOUS,ROLE_USER
				/upload/**=ROLE_ANONYMOUS,ROLE_USER
				/**/Restricted/**=ROLE_RESTRICTED
				/**=ROLE_VIEW
			</value>
		</property>

You would then need to restart your app server, but that should force a login with ROLE_RESTRICTED for any user trying to access a page such as /wiki/en/Restricted/List_of_Passwords. One caveat is that you will need to remember to update this file again any time you upgrade as it will be overwritten by the upgrade process - hopefully in the future this can be made more "out of the box" so that users won't have to change internal files. If you need further customization you can take a look at the Acegi project's documentation for some guidelines of how to configure their security files. Please let me know if you encounter any issues or have any questions. -- Ryan 28-Feb-2008 10:24 PST

Ryan, thanks for the information on roles. Works great and provided exactly the functionality I was looking for. --Tom 02-Mar-2008 13:48 PST

jamwiki.org Problems

jamwiki.org has been slow or even unavailable lately; it's not clear yet whether this is due to problems with my ISP, router, or with dyndns.org, but hopefully they'll be resolved soon. -- Ryan 12-Mar-2008 09:53 PDT

Changing the location of the Table of Contents

I've tried the following code in my page to set the position of the TOC (just like in MediaWiki):


{| align="right"
|__TOC__
|}

Unfortunately this seems not to be working, there just appears "__TOC__" on the right (no ToC as such as all).--Sil86 01-Apr-2008 23:54 PDT

Thanks, I'll move this one to Bug Reports and get it fixed for the next release. -- Ryan 01-Apr-2008 07:59 PDT
revision 2142 will fix this issue. The fix will be included in the next release - thanks for the bug report. -- Ryan 01-Apr-2008 20:26 PDT
Cool! :)

Some minor glitch:


{| class="wikitable" align="right"
|-
|__TOC__
|-
|}
== Heading #1 ==
Paragraph #1

== Heading #2 ==
Paragraph #2

== Heading #3 ==
Paragraph #3

== Heading #4 ==
Paragraph #4

== Heading #5 ==
Paragraph #5

and the resulting page looks like


                               +---------------+
Heading #1            [Edit]   | 1. Heading #1 |
------------------------------------------------
Paragraph #1                   | 2. Heading #2 ]
                               | 3. Heading #3 ]
Heading #2            [Edit]   | 4. Heading #4 |
------------------------------------------------
Paragraph #2                   | 5. Heading #5 ]
                                +--------------+
Heading #3                                [Edit]
------------------------------------------------
Paragraph #3

Heading #4                                [Edit]
------------------------------------------------
Paragraph #4

Heading #5                                [Edit]
------------------------------------------------
Paragraph #5

--Sil68 05-Apr-2008 05:27 PDT

Just a note to say that I saw this bug report - I suspect it can be fixed via a CSS change, but haven't yet had time to investigate. Hopefully tomorrow... -- Ryan 05-Apr-2008 23:30 PDT
revision 2149 will fix this issue. For those who need a quick fix, simply edit the StyleSheet topic and add "background-color: #fff" to the ".toc-content" style. As a side note, your ASCII art is really good :) -- Ryan 06-Apr-2008 22:51 PDT

Table Caption

I've tried the following code in my page to add a table caption to a table (just like in MediaWiki):


{| class="wikitable" style="text-align:left"
|+align="bottom"|My special table caption for {{{TopicName|<Name of Topic>}}}
|-
|'''Start'''
| colspan="3" | {{{Period|<From Date - To Date>}}}
|-
|}

The generated output was


align="bottom"|My special table caption for {{{TopicName|<Name of Topic>}}}
Start {{{Period|<From Date - To Date>}}}

--Sil68 02-Apr-2008 02:03 PDT

Thanks, I'll look at this one too. The parser has undergone significant revisions thus far in the 0.6.6 development cycle, so with any luck this issue may already be resolved. The bug reports are much appreciated, and will definitely be incorporated into unit tests for future releases. -- Ryan 02-Apr-2008 08:10 PDT
revision 2143 adds support for table attributes for table captions - this was overlooked when table parsing was originally written. Thanks again for the report. -- Ryan 02-Apr-2008 20:22 PDT
The new code is now on jamwiki.org:
My special table caption for {{{TopicName|<Name of Topic>}}}
Start {{{Period|<From Date - To Date>}}}
-- Ryan 03-Apr-2008 22:10 PDT
Super! :) --Sil68 04-Apr-2008 23:40 PDT

How to add some enhancements?

I'd like to add database/SQL support to my JAMWiki (either using a JNDI connection or a JDBC one), then I'd like to display the retrieved data as a table and as a chart, in some case I'd like to make use of pivot tables and/or charts (eg. jPivot).

Then I'd like to add semantic functionallity (Jena and SDB).

How would I accomplish this at the time being? If not as some kind of an extension, maybe via the a detour, like incorprating JSP/JS/etc. code or pages.
--Sil68 02-Apr-2008 03:22 PDT

I'm not 100% sure I understand the proposed enhancement - in this proposal, what wiki functionality would be used? Or is this proposal simply an add-on that would exist in a wiki site? If it's not using existing wiki functionality then you would need to create a new servlet & JSP to perform the desired functionality, and that could then be incorporated into the wiki as (for example) a "Special:MyDataRetrieval" page, or something similar. If that's what is needed then the two key things to look at are the /WEB-INF/jamwiki-servlet.xml file and Spring's SimpleUrlHandlerMapping servlet. Also take a look at the org.jamwiki.servlet.JAMWikiServlet, which extends Spring's AbstractController servlet. -- Ryan 02-Apr-2008 08:24 PDT
I'm thinking here of something like (in case of a JNDI resource):

{{DBType=JNDI
|Resource=jdbc/MyDB
|Page-Break=30
|SQL=SELECT col1, col2, col4 FROM mytable WHERE col3 = 'xyz';
}}

or (in case of a JDBC connection):


{{DBType=JDBC
|URL=jdbc:h2:tcp://localhost:9029/MyDB
|User=sa
|Password=""
|Page-Break=30
|SQL=SELECT col1, col2, col4 FROM mytable WHERE col3 = 'xyz';
}}

with "Page-Break" meaning to repeat the header of the resulting table after every 30 rows.

As for the semantic enhancement, there's the Semantic MediaWiki extension available; on the Java/JSP side there exists amongst others makna built on top of Jena and SDB. And I'd like to add this functionality to JAMWiki (there are some special pages and tags).--Sil68 02-Apr-2008 12:35 PDT

Looking at the current JAMWiki code I'm honestly not sure what the best way for implementing your functionality would be. I've been focused on changes to the parser during the 0.6.6 release cycle to make it more flexible, and it's now very close to the point where a hook could be added for third-party developers to create their own tags, but I was thinking that those tags would be in XML format - ie: <mytag attribute1="" attribute2="" />. Allowing custom tags isn't something I was planning on working on just yet, but if there's an interest then I can try to provide a bit more insight into how I envisioned that working.
I haven't looked at what Mediawiki's solution to your issue would be, but if possible I'd prefer to follow their lead. Sadly I can't commit a lot of time to this work right now as my day job keeps me busy 50+ hours a week, but if you're interested in creating a branch and working on something I'd be happy to give you Subversion access and help out where possible. -- Ryan 02-Apr-2008 21:23 PDT
Well, I could give it a shot, toying around a bit, maybe I can produce something nice & shiny!? ;) At least for Jena/SDB I was able to provide a H2 database backend support.--Sil68 03-Apr-2008 06:38 PDT
Just let me know your Sourceforge ID if you're interested and I'll make sure you get access to create a branch. Nice and shiny is always good, and once you get going hopefully there will be some indication of how best to integrate this sort of functionality in the future. :) -- Ryan 03-Apr-2008 20:18 PDT
Sil68--Sil68 07-Apr-2008 07:44 PDT
Done. Let me know if you have any problems. -- Ryan 07-Apr-2008 13:03 PDT
Shall I just do a checkout of the regular trunk, and then, if I "produced" something "worth" check it in as a branch?--Sil68 13-Apr-2008 11:48 PDT
It's up to you - you can either checkout the trunk and work locally, or create a branch from the trunk in the repository which you would then need to sync from trunk occasionally. If you create a branch and work there it gives others a chance to review what you're doing and potentially provide suggestions or patches, but merging can be a hassle and many people prefer to develop privately to allow more experimentation without creating a lot of noise. Either way, do whatever you're more comfortable with, and hopefully all will go well. -- Ryan 13-Apr-2008 12:56 PDT
Well, Ryan, it seems that I'm fishing in other water for a too long a time already; I can't find my way back again to developing! :(( --Sil68 25-Apr-2008 11:48 PDT

#REDIRECT

I'd like to redirect one of my pages to another one using the following code


#REDIRECT [[MyOtherPage]]

[[Category:Glossary]]

This results in


   1. REDIRECT MyOtherPage

+----------------------+
| Categories: Glossary |
+----------------------+

--Sil68 02-Apr-2008 23:59 PDT

I never realized that a #REDIRECT page could have any other content - I'll have to take a look at this to see how difficult it will be to implement. It may not make it into JAMWiki immediately, but will definitely get in eventually. Thanks for pointing it out. -- Ryan 03-Apr-2008 20:15 PDT

Heading issues

When using something like


== Chapter #1 ==

== Chapter #2 ==

=== Chapter #2.1 ===

=== Chapter #2.2 ===

== Chapter #3 ==

I'd expected the created TOC looking like


  1. Chapter #1
  2. Chapter #2
     2.1. Chapter #2.1
     2.2. Chapter #2.2
  3. Chapter #3

Instead it is appearing as


  1. Chapter #1
  2. Chapter #2
     1. Chapter #2.1
     2. Chapter #2.2
  3. Chapter #3

Which of those is the intended way?--Sil68 04-Apr-2008 05:46 PDT

I can investigate - when the JAMWiki TOC was originally built (about two years ago) I think the implementation followed Mediawiki, but either the initial TOC implementation was incorrect or else Mediawiki has changed TOC styles. Either way, this shouldn't be too tough to resolve. -- Ryan 04-Apr-2008 08:04 PDT
revision 2147 should resolve this issue. I'll get the new code on jamwiki.org soon. -- Ryan 05-Apr-2008 15:44 PDT

JAMWiki 0.6.6

Current Release Status

The next release is still in heavy development, but the code seems stable enough that I've copied the latest to jamwiki.org for further exposure. The major focus of development thus far has been simplifying and cleaning up the parser code while trying to improve Mediawiki compatibility. Since the parser is a core piece of JAMWiki code it is expected that there will be some bugs, and since upgrading jamwiki.org I've already discovered a problem with section edits and with comments (both fixed). Additionally I'm seeing some odd corner cases where paragraphs aren't parsed correctly. All regresssions and issues should get fixed before the final 0.6.6 release, and any reports of strange rendering on jamwiki.org would help in tracking down problems.

It will probably take a while for the code to settle down enough for a beta to be practical, but in the mean time anyone interested in running bleeding-edge code can build it from source. As always, feedback is appreciated. -- Ryan 03-Apr-2008 22:55 PDT

JAMWiki 0.6.6 beta 1

The next release is pretty close to being ready, so here's the first beta for testing.

Notable changes in this release include:

  • Major parser updates. The CHANGELOG has complete details, but output should more exactly match Mediawiki, and some additional Mediawiki syntax is now supported.
  • Implementation of Spring managed transactions for the database from User:dallas.
  • An admin setting to allow resetting user passwords.
  • Much, much more.

Testing and feedback is appreciated. There are a couple of minor bugs I'd like to address before the final release, but the current plan is to release a final version in the next couple of weeks. -- Ryan 11-May-2008 19:39 PDT

The WAR file link has now been fixed. I'll update my build scripts to make sure that the file name is correct in the future. -- Ryan 16-May-2008 08:00 PDT

Nested Templates

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

Using/Accessing (External) Taglibs

If I would install say the display tag library with my Jetty container/web server, could I use those additional tags from within JAMWiki?--Sil68 08-Apr-2008 00:30 PDT

I may not be understanding the question correctly, but if you're trying to customize JSPs with your own code simply add the required taglib import to page-init.jsp and to web.xml. If you want to use JSP syntax within a wiki topic then that's not supported. Let me know if I'm not understanding correctly. -- Ryan 08-Apr-2008 07:53 PDT
As soon as I've written this, I recognized how absurd this question was! :( Regarding your question & understanding, my intention was to incorporate (arbitrary) JSP tags in any Wiki page, so it would be rather easy to access say a DB via SQL without having to add this functionality to JAMWiki.--Sil68 08-Apr-2008 10:36 PDT
There is about two years of Subversion history in the JAMWiki project proving that I do amazingly absurd things on a disturbingly frequent basis :) -- Ryan 08-Apr-2008 19:52 PDT

Jboss logging problems

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 -

Translation to russian

Hi, I try translation to russian the jamwiki-0.6.5. In file register.jsp:

...
<span class="formcaption"><label for="registerLogin"><f:message key="common.login" /></label>:</span>
...
<span class="formcaption"><f:message key="common.login" />:</span>
...

I think must be:

...
<span class="formcaption"><label for="registerLogin"><f:message key="login.username" /></label>:</span>
...
<span class="formcaption"><f:message key="login.username" />:</span>
...

I can send "ApplicationResources_ru.properties" after complete translation. Thanks Tixo

PS. My English is bad, sorry.

I can make the change to register.jsp. And your English is fine! It would be great if you could contribute a Russian translation file, and I'll make sure you are added to the CREDITS file. Please let me know if you would like access to the Special:Translation page on jamwiki.org - you will need to create an account, and I can then give you permission to access that page. -- Ryan 17-Apr-2008 08:25 PDT

Assuring Security by testing

Hi devs,

I've been investigating JAMWiki within my Bachelor's thesis "Application of security test tools in open source" at the Free University of Berlin (FU Berlin). Basically, I am looking for security measures which have been taken to prevent security leaks/vulnerabilities especially with security test tools which provide fuzzing capabilities for SQL injection, parameter tampering, path traversal etc.

So far, I have searched the repository and the homepage. Surefire runs JUnit test cases which are not designed to do any security testing. The homepage revealed some ideas about fuzzing (not available thru lucene anymore) but no measures in this direction have been taken.

Are any measures taken whatsoever to assure security with testing tools, a special test plan or functional requirements?

Thanks in advance,

Michael

With respect to security, here are several general areas of focus within JAMWiki:
  • Several of the unit tests are designed to detect XSS vulnerabilities (originally suggested by NickJ). These tests can be found in the source code in the /jamwiki-core/src/test/resources/data/topics/ directory and contain "XSS" in the name.
  • All user passwords are encrypted using strong password encryption.
  • Prepared statements are used for all database queries to avoid SQL injection.
  • The Acegi security framework is used to control access to pages.
  • Javascript within wiki syntax is disabled by default.
If there are additional automated tools that can be used then that would definitely be of interest, and if legitimate holes are found then it would be a priority to close them. Hopefully that answers your question! -- Ryan 30-Apr-2008 07:59 PDT
Ryan,
thanks for your quick reply. I svn co the source again and found the 2 testcases for XSS. It seems to me like a good starter. Were you already able to tackle down any holes by it?
The four security measures you take are great, removes most of the attack are. Btw you mean you ciphering the passwords with a one-way hash function like SHA1 and not encrypting them. Encrypting means, I can decrypt them with a password. Don't you?
It answer the question pretty. I assume right now that there is no explicit security testing with and without appropriate testing tools except those XSS test resources.
What may be of your interest, is Absinthe, Wfuzz and some other tools stated here.
Most of the test cases are there as a result of a previous bug report - the XSS unit tests resulted from bug reports from NickJ, who also does a lot of security testing on Mediawiki. And yes, the passwords are ciphered - sorry, I'm awful with terminology (my talent is in writing code - remembering names is something I fail miserably at). The default cipher for passwords is SHA-512, but for older JDKs and systems that don't support SHA-512 it falls back to SHA-1.
There isn't currently explicit security testing using the tools you've mentioned, but anyone interested in adding it is welcome to do so. Additionally, I've had fuzz-testing on my to-do list forever, but haven't found the time to implement anything. -- Ryan 30-Apr-2008 10:51 PDT
Ryan, thanks for the link over to NickJ. He has his own website with the fuzzer "mangleme". I'll try to run some tools on JAMWiki and will report to you in the next couple of weeks. Mike

successful upgrade from jamwiki 0.5.0 to 0.6.5

After resolving some problems with my local tomcat installation (jamwiki is not running with the default configuration on kubuntu using the security manager ;-/). So I turned it of and then my old jamwiki (0.5.0) was working as befor. Upgrade then to 0.6.5 was excellent! Thanks Ryan and all the other Supporter. -- Mbert 01-May-2008 05:35 PDT

Thanks for the continued success stories! I test upgrades using a number of different configurations, but it's great to hear from others that it works as expected for them, too. -- Ryan 01-May-2008 08:03 PDT

How Can I Reset the Administrative Password?

I set up jamwiki late one night a couple of weeks ago. Now I'm ready to spend a little more time configuring it, but I can't remember the administrative password. I've tried everything I can think of, but no luck. Is there anything I can do to reset the password other than starting over with a new installation?

If you've forgotten your admin password then the only way to re-gain access to the wiki is to set up a new version. Sorry! JAMWiki 0.6.6 will include the ability for an admin to reset a user's password, but without the admin password you'll be locked out of all admin functionality. -- Ryan 09-May-2008 22:16 PDT

Was there a default password? Is there any chance I may not have changed it, or did I have to enter a password at some point?

If I need to start over, what's the least I need to do? It appears that the only change that's taken place to the files in the jamwiki webapp folder is that /jamwiki/WEB-INF/classes/jamwiki.properties has been created. Everything else has a modification date of 3/16 or older. Can I just delete that file and restart Tomcat?

How much of the database do I need to get rid of to make it think it hasn't been set up yet? Tables or just the data?

Thanks!

There isn't a default password - that's something you would have been asked for at setup. To set up a fresh install that re-uses an existing database you can try shutting down your app server, deleting your jamwiki.properties file, and then starting up again. You'll get the setup screen, and if you enter the same database settings as before JAMWiki will detect that there is a database already installed and give you a warning message that a database was found, so no new database will be setup. If you click OK that should (hopefully) solve the problem, although I've never tried this using a different admin account / password, so that might be a problem. Hope that works! -- Ryan 10-May-2008 08:08 PDT

Thanks again, Ryan. I had already dropped all the tables before I read this, since I didn't have any data there yet, so I can't tell you if it works to just delete jamwiki.properties. I thought I'd at least have to delete the admin identity from the user and user_info tables, but maybe not. Anyway, I've got it up and running again.

In case you're interested, I'm running it in Tomcat 6.0.14 with PostgreSQL 8.3.1 on Mac OS X 10.4.11.