|
WareLogging. An "enterprise wiki". [http://www.atlassian.com/software/confluence/ Official site].
|
|
|
|
* [http://www.adaptavist.com/display/USERGUIDE/Home Another Confluence guide]
|
|
* [http://confluence.atlassian.com/display/DOC/Filtering+Regular+Expression+Application Filtering Regular Expression Application] - some stuff about how they translate markup. Touches on a couple of issues worth thinking about for wiki authors.
|
|
* [http://www.adaptavist.com/display/USERGUIDE/Home;jsessionid=OvhI9yWFWb4VjLpnMq Adaptivist Confluence guide]
|
|
* [http://confluence.atlassian.com/display/DOC/Guide+to+Confluence+Macros Guide to Confluence Macros] - weak
|
|
* [http://confluence.atlassian.com/display/DOC/User+Macros User Macros]
|
|
|
|
<[Brennen]> I should rewrite this page, because after using the thing for a while, I'm impressed by a number of things. Also, I'd like to steal half a dozen ideas and implement them myself. Among these are macros and includes.
|
|
|
|
A few things I've noticed, good (steal these!) and bad:
|
|
|
|
* Strong namespacing is probably a bad idea. Hierarchy of the parent/child sort modeled here is best avoided.
|
|
** Is this true? Some kind of grouping mechanism is inevitable, isn't it? Why not put things in containers?
|
|
**This is a thought to pursue, since I think there are good arguments for a relatively flat namespace.
|
|
** Still, maybe this is just a way not to need multiple wiki installations. But why compartmentalize an engineering team from a marketing department, or whatever? (Addendum: Because the logic of business is bullshit, that's why.)
|
|
* A really simple RecentChanges should be one click away at all times.
|
|
* Little bright green plus signs are distracting in text. Also, tiny fonts suck.
|
|
* Comments as separate entities from pages. Why?
|
|
* Tiny fonts suck.
|
|
* "Your recent history", a little popup window showing exactly that, is kind of cool.
|
|
* Attachments are kind of useful, at least in a trusted environment.
|
|
|
|
<[Brennen]> I've recently had occasion to use this beast in a working environment. A few salient technical facts: It's apparently built on J2EE. It uses a MarkupLanguage that -looks a lot like- Textile (see TextPattern). It has fine-grained revision tracking with a pretty display of changes. It does wala-style "commenting" on pages. It has namespacing and a concept of "parent" and "child" pages.
|
|
|
|
The markup is actually better than standard wiki syntax in a couple of particulars: It uses traditional e-mail style markers like *bold* and _italics_. This is cool enough that I might just bite the bullet and implement it here. The revision stuff is also kind of neat.
|
|
|
|
The reason I'm commenting on this at all: My first experience of Confluence was being told "we don't have enough users to give you an account". It's not just commercial software that relies on a site license or some such. ''It requires per-seat licensing.'' I mean, what? Why in hell would anybody use this thing in a world that contains MediaWiki? There are literally [http://en.wikipedia.org/wiki/List_of_wiki_software scores of wiki implementations]. At least half a dozen of them are robust and feature-rich. You could RollYourOwn in a couple of days if you felt like it.
|
|
|
|
Anyway, a slightly more subtle point than "this software is not free-as-in-beer": What got me about being out of user licenses was that, fundamentally, that's not how a wiki works. I'm not about to get all [http://c2.com/cgi/wiki?WhyWikiWorks c2] on anybody here, but there's surely a broad set of attributes that define a functional, useful wiki environment. Confluence breaks a fair chunk of them.
|
|
|
|
|
|
<[Brennen]> Goddammit, what a broken half-assed piece of software. If you're going to implement a set of macros, *make them nestable*.
|
|
|
|
|
|
<[Brennen]> Update on above:
|
|
|
|
Well, you can, sort of. Here for example is an appalling but semi-functional fontsize hack which probably no-one needs:
|
|
|
|
#set($globalHelper=$action.getGlobalHelper())
|
|
#set($renderer=$globalHelper.getWikiStyleRenderer())
|
|
#set($context=$content.toPageContext())
|
|
#set($renderedContent=$renderer.convertWikiToXHtml($context, $body))
|
|
<style>div.stylee p { font-size: inherit; }</style>
|
|
|
|
<div class="stylee" style="font-size: ${param0}em;">$renderedContent</div>
|
|
|
|
|
|
<[Brennen]> (User macro, called like {fontsize:1.5}body text{fontsize})
|
|
|
|
|
|
<[Brennen]> (Not functional at all in IE6.)
|