Dan Sandler
<dan.sandler AT SPAMFREE gmail DOT com> - dsandler.org
Moin.
I've deployed a couple of MoinMoin installations at work now, and they're really catching on as a way to capture ephemeral concepts like mosquitoes in amber. Time to get under the hood and see how it can be made easier to use, more powerful, more flexible, more fun.
Stuff that works.
Sakana import. Import pages from the Sakana wikisystem. See SakanaMoinMoinConverter.
Setuid on apache1/Linux. I had trouble getting file permissions to work correctly when recently migrating a moin-1.2 installation from apache2 on FreeBSD to apache1 on Linux (RedHat). It turns out that, through some combination of factors, the real uid is not changed in the Linux environment. So, even with a setuid wrapper script, Page.isWritable() will return false for every file (mode 644 owned by the same uid as the setuid wrapper). The reason: os.access() tests the real UID, not the effective UID (see the os.access docs). Adding the following lines to moin.cgi corrects the problem:
Ideas for stuff that might work.
Faceted classification. Two steps up from Moin's simple Category system.
See also: DiamondWiki, FacetedClassification, discussion @ peterme, google...
And also: FacetedClassificationInMoin, FacetBrowsingTheme
Hmm, looks like this is already an ongoing effort here. Will investigate. --DanSandler
Live preview editing. The basic MM formatter could be wrangled into JavaScript without too much trouble, thus providing the opportunity for a live formatter (example). Problems: could be extremely slow. WYSIWYG is obviously the Grail here, but much harder to achieve.
I tried the example, but it does not format anything - just replicate the text from the textarea into the page. -- NirSoffer 2004-07-09 13:32:37
Did you enter any HTML code? This page is some sample hackage I put together a while ago to offer live preview of HTML. (If you just enter text, that's all you'll see.) It doesn't grok Moin markup at the moment. --DanSandler 2004-07-10 03:46:44
I tried wiki markup of course. For WYSIWYG editing, see htmlarea
See also: WysiwygEditor
Progressive disclosure. I'm all heated up about PD in DHTML interfaces all over again, now that I've been using Gmail for a couple of weeks. There totally needs to be a way to wrap a section of a page in a <click to expand> JavaScript link; this would be really handy for pages in which commentary is not removed to a /Talk subpage (as they do over in the IAWiki), or for hiding Category and Facet boilerplate. Of course, certain themes may elect to ignore the disclosure directive and show such regions inline. See below about the problems with block formatting in Moin.
Formatting extensions.
Fancy quoting. Simple indentation (HTML <blockquote>) is insufficient to unambiguously claim translcusion of text from some other original source. My preferreed HTML treatment would be an indented <div> with a thin border and some padding, but this is the sort of thing that ought to be customizable in the current theme. The key is just to get new syntax into the markup.
the key is having some good idea about the syntax first, also regarding how other wikis do it. -- ThomasWaldmann 2004-07-13 08:18:52
"good idea about the syntax" -- see below.
The major issues here revolve around the more general problem of orthogonality of syntax extension in Moin. Moin's wikitext syntax doesn't lend itself to seamless extension; every kind of formatting is totally orthogonal to every other kind, and to add new syntax seems to mean "picking another character from the shifted number keys". Related thoughts: Other wikis seem to have standardized on first-char-is-right-angle-bracket, which makes pasting in emails a snap, but who knows what other problems this might cause?
I'm sure there are a lot of strong feelings around the existing MM markup (e.g. commotion over WikiTextStandard) so this might just be a custom formatter thing, rather than an improvement on MoinMoin core.
At the core of the matter is that Moin's formatting can only be extended orthogonally. Example of linearly-extensible formatting: in Sakana you can have {foo} span or block macros {/foo} (which nest!). Defining what {foo} does is simply a matter of creating a new macro.
Perhaps that's a valid approach, then: to extend the macrosystem so that macros can drive blocks of text (which will then be interpolated for other wikitext and macros). In a case such as this, ''foo'' might be shorthand for [[italic(]]foo[[)]]. (Syntax just invented for this example off the top of my head.)
Local wiki sandbox.
How does UTF-8 work? דניאל Hmm, Moin wants to convert it to HTML unicode entities (rather than leaving it in UTF-8).
This wiki does not use Unicode yet, but this does. Its a test wikii based on moin-1.2 plus some theme changes. MacMac also use Unicode.
Messages to me
Welcome, Dan. -- ThomasWaldmann 2004-07-13 08:18:52
Thanks! -- DanSandler 2004-07-14 22:52:27