Skip to content
barbeau edited this page Aug 23, 2012 · 38 revisions

To make it easier to customize the content and look-and-feel of your onebusaway-webapp installation, we provide a content configuration option that we call wiki integration. The idea is that you can point your onebusaway-webapp installation at a wiki or some other content management system, allowing you to control the various content pages that are included in the webapp.

If you're non-profit organization or individual and interested in trying out your own custom wiki with OneBusAway, you might want to try signing up for a free XWiki Community Farm site (NOTE - don't use this for production). You can then import the existing OBA XWiki content XAR file via Admin->Content->Import to start with an exact duplicate of the Puget Sound OBA wiki. Password for all wiki content is "OneBusAway".

onebusaway-webapp XWiki configuration

If you have an XWiki installation available at the url http://wiki.mydomain.org, you can configure your onebusaway-webapp to use the wiki by adding the following elements to your data-sources.xml config file:

<bean id="wikiDocumentService" class="org.onebusaway.wiki.xwiki.impl.XWikiDocumentServiceImpl">
    <property name="xwikiUrl" value="http://wiki.mydomain.org" />
</bean>

    <bean id="wikiRenderingService" class="org.onebusaway.wiki.xwiki.impl.XWikiRenderingServiceImpl">
    <property name="wikiDocumentViewUrl" value="/p/%{documentName}.action" />
    <property name="wikiDocumentEditUrl" value="http://wiki.mydomain.org/bin/edit/Main/%{documentName}" />
    <property name="wikiAttachmentUrl" value="http://wiki.mydomain.org/bin/download/Main/%{documentName}/%{attachmentName}" />
</bean>

The two components are a wiki document service and a wiki rendering service that control the source of pages and how they are rendered.

There is a fair amount of flexibility in how you configure wiki integration.

OneBusAway Wiki Integration project

onebusaway-wiki-integration

Latest Version: 1.0.0

The OneBusAway Wiki Integration dependency is included in the onebusaway-webapp by default, but you can also use it with other projects. Details on all releases can be found in the Release Notes.

The library is broken up into a few key modules:

  • onebusaway-wiki-integration-api - Defines the wiki integration api interfaces
  • onebusaway-wiki-integration-file - A file-based wiki integration plugin
  • onebusaway-wiki-integration-simple - A dummy wiki integration plugin for testing
  • onebusaway-wiki-integration-xwiki - Parent module for the XWiki-based modules
    • onebusaway-wiki-integration-xwiki-impl - An XWiki-based wiki integration plugin
    • onebusaway-wiki-integration-xwiki-struts-macros - XWiki macros for simulating Struts tags with XWiki markup
    • onebusaway-wiki-integration-urlnotification-plugin - XWiki plugin that can make a request to a configurable URL every time a wiki page is edited

Documentation

You can access the latest Javadoc for the library. Also, see example source code below.

Using in Maven

The library is available as a Maven module. Simply add the module dependency:

<dependencies>
    <dependency>
        <groupId>org.onebusaway</groupId>
        <artifactId>onebusaway-wiki-integration-file</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>