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))
$renderedContent
<[Brennen]> (User macro, called like {fontsize:1.5}body text{fontsize}) <[Brennen]> (Not functional at all in IE6.)