Active development of JAMWiki has ceased, and bug fixes and support will be limited at best. If you are interested in taking over management of JAMWiki please send an email to the jamwiki-devel mailing list.

Tech:CodebaseGuide

Overview

JAMWiki has a large codebase, so finding some things can be time consuming. Here are some pointers to find some functionalities inside the project structure.

Links

  • Mapping between URL's and Servlet's:
    • Location: jamwiki-war\src\main\webapp\WEB-INF
    • File: jamwiki-servlet.xml
  • Definition of filters, hostname mapping:
    • Location: jamwiki-war\src\main\webapp\WEB-INF
    • File: web.xml
  • Servlets folder
    • Location: jamwiki-web\src\main\java\org\jamwiki\servlets
    • Base servlet: JamWikiServlet
  • JSP Folder:
    • Location: jamwiki-war\src\main\webapp\WEB-INF\jsp
    • Base jsp: wiki.jsp
    • Main jsp: jamwiki-war\src\main\webapp\index.jsp
      • Not sure if it is controlled here on in the Filter if the initialization is done
  • Taglibs: They are code extensions that can be used in .jsp files
    • Location: jamwiki-web\src\main\java\org\jamwiki\taglibs
    • Links: This classes usually model links. When parsed, they usually refer to org.jamwiki.utils.LinkUtil, which is the class responsible for internally processing links
  • WikiMessages: Messages in the form parser.core.error or similar that appear through the code
    • Location: C:\workspace\jamwiki\jamwiki-war\src\main\resources
    • File: ApplicationResources.properties
  • SpecialPages: The only pages loaded when the .war is deployed
    • Location: C:\workspace\jamwiki\jamwiki-war\src\main\resources\pages
  • Important definitions, like parser used, search engine, namespaces, pseudotopics:
    • Location: jamwiki-war\src\main\resources
    • File: jamwiki-configuration.xml
  • Logging settings, to force more or less verbosity:
    • Location: jamwiki-war\src\main\resources
    • File: logging.properties
  • Some settings like logo, default topic, types blacklist, ...
    • Location: jamwiki-core\src\main\java\org\jamwiki
    • File: Enviroment.java
  • Lexer regexps and Parser rules for JFlex
    • Location: jamwiki-core\src\main\jflex
    • Files: jamwiki-(pre|post|splice|_)procesor.jflex