|
|
- 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.)
|