I am still working on my new PhotoCollection plugin. Thanks to Janne's
previous help, I have an ugly version working and am trying to improve
its appearance before making it generally available.
Because my design accesses an external directory tree (and might access
more than one in a future version), I need to generate wiki page names
that are very likely to be unique, which means they tend to be a bit
long-winded because they carry a lot of the file system path,
e.g. FilesPictures2008_04-franceDSCF1234.JPG
One of the most valuable features of my plugin is that users can add
text information to each directory and image, but even if they add
nothing the page titles will automatically provide valuable search
criteria, e.g. what photos did I take in my several visits to France?
My plugin already has the logic to generate these "probably unique" wiki
page names, but it also creates "human friendly" titles for the pages,
which are not intended to be unique at all,
e.g. Photos 2008 04-france DSCF1234.JPG
I've been trying hard to follow the jspWiki execution sequence starting
from Edit.jsp and referring to JSPWikiForDummies. I can see how it
achieves something similar to what I want to do....
<meta name="wikiEditUrl" content='/Edit.jsp?page=JSPWikiForDummies' />
and
<div class="pagename">JSP Wiki For Dummies</div>
This is controlled by the jspwiki.properties value for
jspwiki.breakTitleWithSpaces, but I want to use my own logic rather than
this "standard" mapping.
I have a (more-or-less) camelcase wiki page name and I want to assign a
different (human-friendly, non-unique) page title when creating the new
page.
My plugin running under the "parent page" generates the appropriate wiki
text of the "child" page plugin and inserts it into the url via the
_editedtext (undocumented) servlet parameter.
When the new "child" wiki page is saved, my plugin generates its own
friendly title.
1. I could store the friendly title as a page variable, e.g. called
friendlyPageName.
2. I could clone Header.jsp to create my own localheader.jsp, but
substitute the line:
<div class="pagename"><wiki:PageName /></div>
with something like this:
<div class="pagename"><wiki:Variable var="friendlyPageName"
default="pagename" /></div>
The intention is to allow the normal breakTitleWithSpaces behaviour to
occur with any page that does not embed this particular plugin. Would
this solution work, or have I overlooked something important?
Can anyone save me some time with an opinion? I'll get there in the end,
but jspWiki is so complex that it takes me ages to grasp how even quite
simple things happen (sorry!).
Brian