#Apache Shiro Developer Reference Information

This page and its children are dedicated for reference information used by the Apache Shiro development team when performing tasks as a committer.

##Writing Documentation

All non-JavaDoc documentation is written in our Apache Shiro Confluence Wiki Space. This space is converted into the public website as described below.

##Version 2 Brainstorming

Version 2 has no timeline yet, but if you're interested in seeing what the major ideas are, as well as to contribute any of your own, you can visit the Version 2 Brainstorming Page.

##Website

NOTE: This section is out of date. The site is basically just markdown, and you can edit / pull request via Github via the links at the bottom of the page.

More on this soon!

The Shiro website is automatically generated based on the content maintained in the Apache Shiro Confluence Wiki Space, with a few notable exceptions that we‘ll cover in a bit. Here’s how it works:

  1. Shiro committers and approved contributors modify the Confluence wiki pages as necessary. The left navigation panel is controlled by the Navigation wiki page.

  2. Confluence detects changes to these pages and executes a 3rd-party Auto Export Confluence Plugin that renders the content to .html files that can be served to the world (this plugin was installed in Confluence by the Apache Infrastructure team). If you're setting up Auto Export for the first time, read the “Setting up Confluence Export” section below.

    1. A project contributor makes a single Velocity-based HTML template file. It can reference associated static assets (images, css files, javascript, etc) as necessary. They test it in their HTML design tool of choice to get the look and feel they want.

    2. The template designer sends the one HTML template file only (and not the referenced static assets) to an Apache member with Confluence administrative privileges and asks them to install their HTML template file into the Auto Export plugin configuration. Unfortunately only a Confluence administrators may perform this function - the plugin does not support administration on a per-project level.

    You will have to separately upload the any referenced static assets to another location. We'll cover that shortly.

    1. The Confluence administrator installs the HTML template for the project's space only.
    2. For each wiki page, the auto export plugin merges the page content with an HTML template and outputs a new .html file (html template + wiki content body = finished page).
    3. All of the output files and any associated data (attachments, etc) are placed in a filesystem directory that mirrors content tree hierarchy in the wiki. the The output files mirror the fileThe auto export plugin takes all of the pages and their content (attachments, etc), applies a single HTML template to each wiki page, and outputs each ‘merged’ page (html template + embedded wiki content = finished page)

The website files are maintained on people.apache.org in /www/shiro.apache.org:

> ssh people.apache.org

(a bunch of login messages)

[lhazlewood@minotaur:~]$
[lhazlewood@minotaur:~]$ cd /www/shiro.apache.org
[lhazlewood@minotaur:/www/shiro.apache.org]$ 

Changes made to any files under this directory are synced and published to a set of mirrored Apache web servers that we can't access. So note: Any changes to files under this directory will be propagated to the public Shiro site. Be careful!