On Tue, Nov 6, 2012 at 7:51 AM, Florian Holeczek <flor...@holeczek.de> wrote: > Hi Christophe, > > the template stuff is something that came to my mind, too, already. The > result is a bit like Lotus Notes/Domino, a document-oriented database > (nowadays one would name it NoSQL): Fields which contain (editable) data and > the template providing the non-editable surroundings. However, I think Janne > is right, this is quite a bit away from what a Wiki is.
Hi Florian & Christophe, [Sorry if this sounds a bit like a rant -- it's not directed at anyone in particular...] Most of the fiddling I've done with JSPWiki over the years, and with digital library-related projects that have used JSPWiki as a front end, all of them essentially leave the content of the wiki pages as WikiText and concentrate on providing page-level metadata, basically like name-value pairs as <meta> elements in HTML's <head>, with the <body> containing the page content. Similar to SOAP in this regard as well. Having a proper metadata carrier for each page has proved invaluable. Then I've just written plugins to provide the application support I needed that wasn't native to JSPWiki. > Reading your next lines, I wonder where you're still using wiki markup in > that application. Wouldn't it be best to either customize the JSPs (i.e. > creating a new "template", already today!), or, going one step further, > creating a new webapp and embed JSPWiki functionality into the places you > need wiki markup? If JSPWiki migrated away from using wiki markup, wiki markup interpretation, support for the basics of a wiki, well... I'd have little use for such a beast. I'd just use a CMS. Despite things going in and out of fashion amongst boy developers (and I accuse no one here of that), there are some of us "old folks" (older than our 20s) who still evaluate a technology by what it provides us rather than it being flashy. Hell, we're already hip by virtue of being probably the first foray of "social media", do we need to tweet and gawk and plank and faceplant too? I still find a great deal of value in wikis, and I don't mind wiki syntax even if some consider it clunky. The WYSIWYG alternatives have never worked all that well, and I don't think they ever will, if one of our requirements is true cross platform independence. Likewise with JSP. I've countless times read that scriptlets are bad, blah blah blah, but honestly, for a wiki, and especially for a wiki that one wants "average" Java developers to be able to tweek, JSP is brilliant. Sometimes even fun in a kinda retro way, like fiddling with HyperCard in Mini vMac. It does the job and it's not overly complicated. > IMO, crucial JSPWiki future topics are: > * explicitly defining the wiki markup syntax (and its transition rules to > xhtml) This isn't all that difficult for the core of the engine. It's only when we get into extensions and plugins that this gets more complicated. If there was a way for plugin developers to express their new syntax in a normalised way, well, that'd be great, but frankly I don't see people taking the time, call me a pessimist. > * explicitly defining a wiki name syntax By this I assume you mean explicit rules the constraints on wiki names. That'll depend on various wiki settings but seems reasonably simple in theory; like the markup syntax this can almost be inferred directly from the code. > * a backend which supports proper metadata (Probably JCR is best here, but > not necessarily. The essential thing is a fast and lean backend > implementation which also supports simple file storage.) I've probably written three or four suitable backends (i.e., the ability to store wiki page syntax along with a container for metadata) but it seems people want flexibility in their backends (no pun or joke intended) so this sounds like a requirement on the API. I wouldn't object to that at all, would welcome a common metadata API. We already have the basis of that with the setAttribute() and getAttribute() on WikiPage, but perhaps firming that up with some specific properties that would be expected, along the lines of Dublin Core (e.g., Creator, Created, Modified, Title, etc.). As I said, I've done this a few times already in past projects -- it's just a matter of having a class defining the expected values and properly supporting their implementation and validation. I know Janne has gone to all that trouble to create Priha, and while I'm likewise a big fan of JSR-170 and JackRabbit, my own experience in using it as a backend (for digital library software) was that it was overly complicated for what I was doing. I've admittedly not been following this project as closely as I was a few years ago so I don't know the status of Priha vis a vis JSPWiki, but note that it hasn't become the default backend, that Janne isn't as heavily involved in the JSPWiki project, and that Priha seems to have somewhat taken on a life of its own. I'd be willing to donate a BerkeleyDB JE based backend that is extremely fast and has almost no practical limits. But I'd also have to spend some time cleaning that up (probably not that much but I'm loath to commit to stuff right now as I've got a lot going on). I tried to upgrade an earlier version that was embedded in an earlier project but that older project's dependencies caused me to dump the effort simply on time constraints. But I've got another wiki-free version of the backend that would just need some means of supporting revision control and the layering-on of the WikiPageProvider and/or VersioningFileProvider interfaces. Not trivial but not a horribly complicated task. I won't have the time to do this prior to Christmas though unless something in my schedule lightens up. > * a rendering engine which supports many input formats at once (i.e. > page-wise), based on a MIME type provided via a page's metadata I either don't understand this suggestion or I do and really don't like it. Why would we want to support more than simply WikiText? You mean, like support MS Word, XHTML, other markup? That just sounds complicated, non-wiki ("supra-wiki"), probably would have serious security issues, etc., just takes us into the territory of being a CMS that supports a wiki. I'd rather the project focus down, simplify, and do what it's already good at: something small, tightly coded with clean APIs, fast, and easy to extend/modify either with JSPs or plugins. That's what I've always liked about JSPWiki. Ichiro