Software
Software name: JSPWiki
Software version: 2.6.2
Website: http://www.jspwiki.org
Dependencies
Used for this evaluation;
Required software: Apache Tomcat
Version: 6.0.14
Requirements Fulfillment
E0 The software must be free and open source
To be considered for use by the opensolaris.org website, the software must be available under an OSI approved open source license.
Yes. LGPL http://www.jspwiki.org/wiki/JSPWikiDownload
E1 The software must have a page history
A page history is considered essential in order that page edits may be logged and, if necessary, reverted. This must also work for page translations. Revision 'diffs' are also highly desirable.
Yes. Page histories, which may be reverted, and revision diffs are available via the VersioningFileProvider PageProvider. http://www.jspwiki.org/wiki/VersioningFileProvider
E2 The software must have pluggable authentication
The software must be able to be integrated with the opensolaris.org authentication application through the development of suitable code. (See auth.opensolaris.org for more details). Roles held in the OpenSolaris user management system must be mapped to the wiki software's notion of roles in order that permissions may be set appropriately.
Yes. JSPWiki has a flexible, JAAS-based authentication and authorization capability. It allows the use of external authorizers for which roles may be set to determine permissions. http://doc.jspwiki.org/2.4/wiki/Security#section-Security-ConsultingExternalAuthorizers
E3 The software must be Java based
In order that the wiki software can be extended and maintained, given the infrastructure resources, the most sensible choice of technology on which to base the software is Java.
Yes. JSPWiki is written in Java. http://www.jspwiki.org/wiki/Main
E4 The software must have a WYSIWYG editor
Not everyone who wishes to contribute to the site will be familiar with the text formatting rules of a particular wiki or indeed with wikis themselves. A 'what you see is what you get' editor makes it easier for people to contribute. The editor should have tool bars, a preview capability and support rich formatting. Ideally, the software should also support pluggable editors.
Yes. There are two WYSIWYG editors available - FCKEditor and TinyMCE. http://www.jspwiki.org/wiki/WYSIWYG
E5 The software must support non-ASCII titles
The software must allow the creation of pages with non-ASCII titles
Yes. UTF-8 allowed in titles.
E6 The software must support UTF-8
UTF-8 must be the only allowed encoding
Yes. Encoding can be configured. http://www.jspwiki.org/wiki/ContentEncodingTag
E7 The software must support UTF-8 export
Export to other formats, say PDF, should work for non-ASCII characters.
Yes. UTF-8 export is supported for page content, and pages may be exported via plugins (such as the Archive plugin) to formats supported by the configured type handlers. There is also a PDF export capability which allows specification of the encoding. http://www.jspwiki.org/wiki/WikiArchivePlugin http://www.jspwiki.org/wiki/PDFPlugin
E8 The software must support language tagging
All pages should be tagged with the content-language, that is, authors declare the content-language at page creation time.
Yes. In JSPWiki the page title can serve as the page language marker.
E9 The software must support translation linking
All language versions of a page should be cross-linked. That is, source pages should point to available translations; translated pages should point back to source. (Translation is not a lossless process. Readers of translated material like to be able to easily refer back to the material in the source language. Many users find the source [typically English] versions first - through search, navigation etc. Linking from the English increases the 'findability' of the translations.)
Yes. Pages are versioned and can be accessed at any version with request parameters (?version=x). The use of the VersionPlugin should also enable a specific version of a page matching other criteria to be referenced. http://www.jspwiki.org/wiki/InsertVersionPlugin
E10 The software must support an internationalized UI
All UI strings should be externalized into resource bundles, which allows for easy translation of the UI.
Yes. JSPWiki is fully internationalized. http://www.jspwiki.org/wiki/NewIn2.6
E11 The software must support a translation API
Translation processes are greatly simplified if there's an API that allows the content to move in and out. Moving content in and out through the UI does not scale.
Yes. There is an XMLRPC based interface which allows for upload of pages. http://www.jspwiki.org/wiki/WikiRPCInterface2
E12 The software language support must scale
Any language content model should clearly scale to support many languages.
Yes. The language content model is simple inasmuch as it uses J2EE resource bundles for UI internationalization, and page translations are simply extra pages - both aspects scale.
C13 The software should have an active community
In order that defects may be addressed and enhancements be made the software should have an active community with at least mailing list support. Current user guides, administration guides, development guides and API documentation are also highly desirable.
Yes. Multiple mailing list support is available at http://www.jspwiki.org/wiki/JSPWikiMailingList and the volume of messages reported by http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-user/ and monitoring of the users' mailing list suggests that these forums are reasonably active.
Documentation is available. http://www.jspwiki.org/wiki/JSPWikiDocumentation
C14 The software should have pluggable content storage
The requirements for extracting content for use elsewhere or indeed for importing content may change over time. While versioned flat-file storage is probably acceptable, it is desirable for the software to have alternative storage capabilities (a database, for example).
Yes. JSPWiki has out-of-the-box support for (versioned) file-based storage but there are 'providers' for database stoarge and for other repositories. http://www.jspwiki.org/wiki/JDBCProviders
http://www.jspwiki.org/wiki/ContributedProviders
C15 The software should have pluggable 'look and feel'
For the wiki software to render a familiar look and feel, consistent with the rest of the opensolaris.org website, it should be possible to 'skin' the pages with a pluggable look and feel which may be changed when required. If the software does not natively support this, something like Sitemesh may provide an acceptable alternative.
Yes. Look and feel may be customised via the templating support and CSS. http://www.jspwiki.org/wiki/JSPWikiSkinDesign
C16 The software should be easy to build, install and manage
Due to the nature of open source projects, the requirements of the wiki may change over time. As well as being flexible enough to meet these needs in terms of deployment and structural re-organization, the software should also have management capabilities or tools to aid the day-to-day administration.
Yes. JSPWiki uses an Ant-based build system. http://www.jspwiki.org/wiki/BuildingJSPWiki
C17 The software should be susceptible to search indexing
Whatever search technology is chosen for the opensolaris.org site (see http://auth.opensolaris.org/restructuring.html for a brief discussion), the wiki software should be susceptible to indexing by the search software. It should also be able to restrict searches to a particular language.
Yes. Clearly the search technology has a bearing on this, but a variety of options are possible. Lucene is available as a plugin. http://www.jspwiki.org/wiki/FAQSearch
C18 The software should support accessibility
The software should support the use of assistive technologies for people with disabilities. This link provides use cases for people with disabilities and this link provides 16 rules for "Section 508" compliance for web-based applications.
Yes. Configurable skins mean that pages may be presented in accordance with the W3C WCAG guidlines on which "Section 508" compliance Subpart B 1194.22 paragraphs a-k are based. Paying particular attention to the WAI Guideline 3 style sheets should be used to control presentation and markup should be used as per the specifications. Additionally, JSPWiki supports the use of the accesskey attribute, although the value of this is delependent upon the browser being used. In a small test, Firefox 2.x had poor support for access keys, while Opera worked well. http://www.jspwiki.org/wiki/JSPWikiKeyboardShortcuts
C19 The software should have support for feeds
The software should support RSS or Atom feeds (for recent changes, for example).
Yes. See http://www.jspwiki.org/wiki/RSSFeedForJSPWiki
C20 The software should have support for file attachments
The software should support attaching files to a page.
Yes. See http://www.jspwiki.org/wiki/JSPWikiFileAttachments
C21 The software should have support for footnotes
The software should support adding footnotes to a page.
Yes. See http://www.jspwiki.org/wiki/TextFormattingRules#section-TextFormattingRules-Footnotes
C22 The software should have support for page redirection
The software should support page redirection.
Yes. See http://www.jspwiki.org/wiki/RedirectPlugin
C23 The software should have taxonomy support (namespaces, categories and hierarchies)
The software should support content structuring with support for page taxonomies, for example, page hierarchies, namespaces and/or categories.
Yes. JSPWiki supports namespaces and categories but not yet hierarchies of pages. http://www.jspwiki.org/wiki/NamespacePlugin http://www.jspwiki.org/wiki/WikiCategory http://www.jspwiki.org/wiki/SubPages
C24 The software should have support for change notification
The software should support notification of page updates, watch lists or similar. This capability should be localized.
Yes. Support for RSS feeds and email notification. http://www.jspwiki.org/wiki/EmailNotifierPlugin
C25 The software should support tracking for orphaned pages
Pages without referring links should be readily identifiable.
Yes. See http://www.jspwiki.org/wiki/UnusedPagesPlugin
C26 The software should support page comments
The ability to comment on a page is distinct from being able to edit the page. The software should support users commenting on pages.
Yes. Page comments are supported.
C27 The software should support right-to-left layout
The software should support right-to-left GUI layouts.
No. This might be possible to partially implement with custom skins and templates, but there is no direct support for it. RTL text should be supported by the browser based on Unicode direction. There is also an HTML attribute to explicitly specify this (for quotations, for example). JSPWiki supports this via the '%%rtl' directive. http://www.w3.org/TR/REC-html40/struct/dirlang.html#h-8.2
C28 The software should support versioned translation linking
Translation linking (see above) should link to the correct version. For example, suppose v1.13 of an English page is translated into Korean. The Korean page should link to v1.13, even after the English page is updated to v1.14.
Yes. It is possible to link to a specific version of a page using request parameters (?version=x).
C29 The software should support translation priority
Some core material [install guides, faqs, admin guides etc] would be important to translate. Consequently, it would be useful if authors could rank the translation priority of their material. That way any translation volunteers, could quickly identify the more urgent material.
No. It may be possible to write some code to achieve this, but there is no direct support for it.
C30 Content export
The software should support exporting of content into other formats such as PDF, XML, ODF. The ability to export multiple pages in this manner is also desirable (although this overlaps somewhat with the 'pluggable content storage' requirement above, this export requirement is more specific as the above is a more general point directed towards management and backup concerns).
Yes. Exporting single pages to PDF is supported. http://www.jspwiki.org/wiki/PDFPlugin
O31 Virtual server support
In order to give greater flexibility for deployment, it is desirable that the software supports running virtual servers based on hostname. For example, abc.xyz.com is distinct from def.xyz.com even though the two hostnames resolve to the same IP address.
No.
O32 Localized page listing
The software should support listing of all pages in a particular language.
No.