Someone else suggested OddMuse.
OddMuse sounds good. I'm still in favor of some sort of community programmable wiki, but let's do one thing at a time.
If we end up using my implementation, most of my CPW framework can be added onto any Perl wiki anyway. There are a few UseMod specific parts, but since OddMuse is a UseMod derivative that should be easy too. I bet it'll be around a 4 day project, depending on what one considers a "day". So we can ignore that for now, and focus on moving to OddMuse.
As we move to OddMuse, let's use a style-sheet (or whatever it is; I'm not up on this technology) to make headings, etc. look like they do on MeatballWiki now. We can change the style-sheet later (one thing at a time, right?).
-- BayleShanks
I think oddmuse would be a reasonable starting point, from the little I've seen. I'm not sure we'd want to be a full CommunityProgrammableWiki, but there should be community-based ways of choosing all the options, just as for the InterMap. --MartinHarper
AlexSchroeder pointed me at http://www.emacswiki.org/cgi-bin/oddmuse?Migrating_From_UseMod_0.92 to see what is involved in migrating from UseMod to OddMuse. Unfortunately, as we've since established by email, it's not as simple anymore.
this is pre-formatted and would not not link to ChrisPurcell
I favour changing the parser of OddMuse to mimic UseMod when we install it on MeatballWiki. Alex points out it would be harder to maintain afterwards, because we'd essentially be maintaining our own copy of the parser "core" function. He suggests going through the 2448 pages we currently have on Meatball (gosh, that was 2447 a couple of minutes ago...I spy MultiCopyrightWiki on RecentChanges) and changing them all. Actually, he suggested changing as many as possible before getting bored, then fixing the rest as they crop up through PageChurn, but I'd note that many people follow external links to random pages here, and will be nonplussed if the page looks...odd. So, changing all of the 2448 is probably the only way to go. Including SunirShah's diary. I still think changing the parser is better.
Of course, since Alex will be the one installing the new script and changing the page database, it's up to him.
Anyone with objections to changing the parser rules from MeatballWiki's current brand, this is the space for it. -- ChrisPurcell
Unless any of the subtle formatting changes are unsubtle, I say "converting" 2,500 pages is easier. Most of them won't even use pre-formatted text. If anything important gets broken, it'll be fixed soon enough. --MartinHarper
I think the pre-formatted text thing is unimportant; there isn't that much pre-formatted text lying around (in fact, I think the whole "indent for pre-formatted text" thing is a bug, not a feature. I never use it and it makes copying & pasting text from other places harder). The PageClusters thing is important, as it'll break any page which starts with a page-name. Let's just turn off PageClusters initially. Are there any other unsubtle problems?
-- BayleShanks
List items can be continued on the next line. Example:
This affects several pages for sure, but is easy to fix. -- ChrisPurcell
I operate several wikis, public wikis like digital rendezvous [1], closed ones to support change in corporations, one for my business website [2]. About a year ago, I migrated all of them to OddMuse. The main reasons where multiligualization, good documentation and enough functionality instead of too much.
One thing that worries me is the appalling page load times I've seen on CommunityWiki. Is this the engine or the server, Alex? -- ChrisPurcell
Much improved due to your hint that /m is expensive. Thanks. -- AlexSchroeder
Alex has solved the KeptPages problem in OddMuse. It now uses separate files for each version. We can deal with formatting fallout after the fact (BarnRaisingNominations).
I want to replace the parser with something that emits XHTML (cf. InfiniteMonkey). Part of this work has led me to a mental model for WikiSyntax which could hopefully be useful in automating translation.
Other problems are multilingual fixes (UseMod damages UTF8), better InterWiki support, and a more HumaneInterface. Basically OddMuse is what UseMod 1.0 was supposed to be. Just because Alex did it and not Cliff or I doesn't undermine the fact that is what MeatballWiki was planning on running. -- SunirShah
I actually tried twice whether Oddmuse would be difficult to move to XHTML. The first attempt failed because list items parsing had bugs. The second failed because I still don't have the placement of paragraph closing tags fixed. But I hope that we'll get there eventually. I'm using a state-machine like parser inspired by ScottWalters' TinyWiki. -- AlexSchroeder
Have you looked at the InfiniteMonkey parser? It isn't a state machine, which makes it easier to modify. -- SunirShah
I (CliffordAdams) support moving Meatball to OddMuse if that is what the most important community members want. The markup differences are fairly minor, and it would be good to have more active support of the software. PageClusters seem like they could be very helpful. (I originally planned for SubPages to be clustered on RecentChanges, but the RecentChanges code grew too unwieldy to add this feature.)
My main concern is whether the current usemod.com host (futurequest.net) will be able to support a growing community, especially if OddMuse can be more resource-intensive at times. (Problems could develop with disk space, CPU, and bandwidth growth.) I am willing to continue hosting this wiki in the near term, but perhaps it should move to another host someday. (I am willing to maintain redirection from usemod.com as long as I can--it could be mostly transparent.)
Finally, while we are discussing major changes, perhaps MeatballWiki should get its own domain name? I'll start MeatballWikiDomain? for further discussion. --CliffordAdams
When I called futurequest, they explicitly said that they were not going to install a bandwidth throttle, and they reserved the right to disable my wiki when there was too much load. Which is why I moved to thinkmo.de instead. -- AlexSchroeder
Basically OddMuse is what UseMod 1.0 was supposed to be. SunirShah and I have had a few disagreements in the past, and this is yet another one. :-) I would have liked to add more language support and much better documentation (points in OddMuse's favor), but I strongly disagree with some decisions made in OddMuse. I'm glad AlexSchroeder wrote OddMuse, but it wasn't my vision for 1.0. --CliffordAdams
Sure. ;) What I meant was that OddMuse was an active project reflecting Meatball design issues. UseMod and Meatball may not necessarily agree with each other. -- SunirShah
Curious about these decisions. :) Oh and Sunir: What about that holiday?! -- AlexSchroeder
Ah, I'm relieved then. Those decisions were hard for me to make as well -- UTC, subpages, no immediate removing and deleting (although the search&replace functionality + redirection + page deletion partially make up for this). Actually Oddmuse will do even more writes: After an edit the cache is updated in the page file and the visitor file is updated even if surge protection is disabled (and visitors remain enabled). Thanks for offering this feedback. Mind if I copy an edited version to UseModWiki? -- AlexSchroeder
The decision about TimeZones is simple. Follow MoinMoin's example. List the relative time since the last change, not the absolute time it was changed. After all, this is what the users actually want to know.
I recommend we have PageClusters (in the form Alex currently uses) disabled, to avoid the immediate hassle of explaining it, coping with it, then probably changing it. I also suggest we set up the header/footer links as they are now. Other than that, I agree. -- ChrisPurcell
I'd like an "Edit text of this page" link at the top too. I know, this is sacrilege. I have to go and amend my previous argument against it to make it clear that I am an idiot. -- SunirShah
Motion to go ahead. I move that we go ahead and replace the script with OddMuse when Alex is ready regardless of whether we have reached consensus yet on PageClusters, "Edit text of this page", and any other minor issue. We can change/turn these on or off later.
-- BayleShanks
The general strategy is to use the mb2.pl or mbtest.pl scripts first. You may want to copy the page database for testing if you have to change the file structure. Make sure that script incorporates the patches in mb2.pl (UseMod 1.0) we need to host MeatballWiki effectively on usemod.com, such as the better login stuff. Ask Cliff more about that. He's returned to life. -- SunirShah
Sorry; forgot OddMuse has no logins. Anyway, you should check out the patch list of UseMod 1.0 first. You may also want to use a nicer diff than Alex's, which isn't very good in my opinion. Don't forget to find all the Meatball specific patches. (They are noted.) -- SunirShah
Interesting formatting observation: everywhere we currently write [CategoryName?] will show up as a [1] link instead. BarnRaisingNomination: go through [3] and fixup the markup. -- anon.
Oddmuse has global search and replace for administrators. -- Alex.
I'd like AcademicCitations at some point. -- SunirShah
In early testing, we found minor formatting problems, but page generation was slow (no longer sure this is the case; much has changed). Alex implemented a [4] for those who like that aspect of UseModWiki. Sunir suggests the InfiniteMonkey parser as a drop-in replacement:
The syntax is simpler, but we can return it back to UseMod syntax, or alternatively convert the whole PageDatabase. It is currently missing the ISBN pattern (not important), #REDIRECTs (easy but I prefer PermanentAnchors), and TableSyntax, which I was going to do next, although I was contemplating changing it to something less stupid. There are a number of syntax differences that can be removed (copy&paste from my local version):
(*) For a speed comparison, compare SunirShah vs. http://www.usemod.com/cgi-bin/next.pl?SandBox (I copied my name-page). Not a true test, but a close one. Look how nice the source of the page is though. The overall output could be speeded by removing unnecessary whitespace. -- SunirShah
P.S. Here's my conversion script:
#!/usr/bin/perl sub trans { my $string = shift; my $c = shift; $string =~ s/./$c/sg; return $string; } while(<>) { s/(^=+.*?)=+\s*$/$1/sg; s/^(:+)/trans($1,'>')/esg; s/^(;+)/trans($1,':')/esg; s/(\w)""/$1|/sg; print; }
I wrote a sample simple and fast parser replacement for Oddmuse based on regular expression search and replace. [5] It is regular expression based. Adding more rules should be easy for Perl people. I'm not really interested in coding up all the existing text formatting rules. Perhaps somebody interested can take up the ball from here. -- AlexSchroeder
Nothing can be as smooth as you want. Problems we have to fix; please add (assigned):