2006-06-22T00:31:53  <ThomasWaldmann> moin
2006-06-22T09:29:33  <ThomasWaldmann> moin
2006-06-22T09:33:27  <mvirkkil> ThomasWaldmann: moin
2006-06-22T09:50:38  <ThomasWaldmann> mvirkkil: didnt you do coding the last 2 weeks?
2006-06-22T09:51:51  <ThomasWaldmann> "13 days ago" is what the repo tells me
2006-06-22T09:54:34  <ThomasWaldmann> fpletz: instead of having a stemmer_available attribute, why not simply Stemmer = None?
2006-06-22T09:56:12  <mvirkkil> ThomasWaldmann: Yeah, I've done coding :) The repo is getting old because I haven't committed stuff.
2006-06-22T09:56:33  <mvirkkil> ThomasWaldmann: But I will commit contained patches next week.
2006-06-22T09:56:47  <mvirkkil> ThomasWaldmann: I've been playing around with different strategies.
2006-06-22T09:56:59  <ThomasWaldmann> of course it is up to your mentor, but from our soc students, I demand daily commits.
2006-06-22T09:57:34  <mvirkkil> ThomasWaldmann: I haven't heard my mentor complain.
2006-06-22T09:58:18  <mvirkkil> ThomasWaldmann: Any thoughts regarding the re-implementation of the Include macro?
2006-06-22T09:58:23  <ThomasWaldmann> fpletz: +        if request and request.cfg.xapian_stemming and language:   <--- ... and Stemmer is not None
2006-06-22T09:59:09  <ThomasWaldmann> mvirkkil: if you rename old Include macro, you branch can't be merged into main until you reach old Include compatibility
2006-06-22T09:59:53  <mvirkkil> ThomasWaldmann: Yes. My plan is to reach old Include compatability. The question is how close does it need to get?
2006-06-22T10:00:22  <mvirkkil> ThomasWaldmann: Basically: there are so many bugs so it's a bit unclear how it should work.
2006-06-22T10:02:54  <ThomasWaldmann> i personally don't use include much, but maybe other people do.
2006-06-22T10:03:46  <ThomasWaldmann> it doesnt need to be "bug compatible", of course. but it should match the widespread use cases at least.
2006-06-22T10:04:15  <ThomasWaldmann> if it isnt completely compatible, use your CHANGES.xxx file to document what's different.
2006-06-22T10:04:26  <mvirkkil> ThomasWaldmann: Agreed. I don't want to go breaking a lot of pages.
2006-06-22T10:04:30  <mvirkkil> ok.
2006-06-22T10:04:46  <ThomasWaldmann> if you are not compatible for some widespread use case, you will have to write a page converter.
2006-06-22T10:04:52  <mvirkkil> Some stuff like "titlesonly" is tricky but I assume necessary.
2006-06-22T10:05:21  <mvirkkil> no wait. That isn't tricky.
2006-06-22T10:05:41  <mvirkkil> I thought it was for including section titles, but it isnt.
2006-06-22T10:06:27  <mvirkkil> ThomasWaldmann: I should be able to write one which works as the documentation of the Include macro descibes it should work ;)
2006-06-22T10:09:16  <ThomasWaldmann> i guess that would be ok :)
2006-06-22T10:10:03  <ThomasWaldmann> dont look at old Include macro too much or you may get blind :-P
2006-06-22T10:10:24  <ThomasWaldmann> (Include.py)
2006-06-22T10:14:27  <Kepplar> moin
2006-06-22T10:16:21  <ThomasWaldmann> moin Kepplar
2006-06-22T10:20:09  <Kepplar> where in 1.6 code is the bit about finding out the mimetype? i can't find it
2006-06-22T10:20:16  <Kepplar> er
2006-06-22T10:20:17  <Kepplar> sorry
2006-06-22T10:20:19  <Kepplar> not mimetype
2006-06-22T10:20:23  <Kepplar> oh wait
2006-06-22T10:20:26  <Kepplar> hmm
2006-06-22T10:20:51  <Kepplar> Page, user etc assumes its dealing with that type of object with a given wikiname
2006-06-22T10:21:17  <Kepplar> (im trying to put in the auto metadata grabbing bit before it determines mimetype
2006-06-22T10:21:31  <Kepplar> the snag is metadata is and potentially is even more stored all over the place
2006-06-22T10:24:06  <ThomasWaldmann> the is some mimetype stuff when loading the correct parser and it also uses mimetypes for formatter determination
2006-06-22T10:24:33  <Kepplar> whats the difference between a parser and formatter again?
2006-06-22T10:24:43  <ThomasWaldmann> but there is no highlevel mimetype stuff like user <-> page item as this is what you are doing new
2006-06-22T10:24:56  <Kepplar> yea
2006-06-22T10:25:21  <ThomasWaldmann> a parser reads some lines of text (or a whole page of it) and tries to make sense of it
2006-06-22T10:25:33  <ThomasWaldmann> then it calls the formatter to generate output
2006-06-22T10:25:34  <Kepplar> formatter just applies rules to the text to format it
2006-06-22T10:25:37  <Kepplar> right
2006-06-22T10:25:42  <Kepplar> pipeline really then
2006-06-22T10:26:00  <ThomasWaldmann> usually text/html output, but we also have a text/plain formatter
2006-06-22T10:26:47  <Kepplar> so does the parser make "byte code" (i think you know what im getting at) of the internal format?
2006-06-22T10:27:45  <mvirkkil> Kepplar: The content is stored in what ever format it is written in, the parser reads the file, and calls formatter methods. The formatter then outputs what it wants.
2006-06-22T10:27:56  <mvirkkil> Kepplar: So, no, there is no internal format.
2006-06-22T10:28:21  <Kepplar> why have custom parsers?
2006-06-22T10:28:30  <Kepplar> if its just calling the formatter
2006-06-22T10:29:34  <mvirkkil> Kepplar: Because the methods remain the same. So a wikiparser can call the formatter methods without knowing if it is using a Docbook formatter, an html formatter or whatever.
2006-06-22T10:30:05  <Kepplar> what other parsers are there?
2006-06-22T10:30:12  <Kepplar> everything is wiki
2006-06-22T10:30:27  <mvirkkil> Kepplar: And the same goes for the reverse: You could in theory have some other syntax instead of the wikisyntax, like say html, which would call the formatter methods instead.
2006-06-22T10:30:49  <Kepplar> isnt that a bit generic for moin?
2006-06-22T10:31:09  <mvirkkil> Kepplar: Well, what would you suggest?
2006-06-22T10:31:30  <Kepplar> im no suggesting anything, im asking questions like this in order to establish why things are done the way they are
2006-06-22T10:32:01  <mvirkkil> Kepplar: There is currently a docbook parser at least, but it doesn't call any formatter methods except raw_html, so it doesn't work for other formatters than html
2006-06-22T10:32:22  <Kepplar> whats docbook?
2006-06-22T10:32:47  <Kepplar> so all these parsers are used for attachments?
2006-06-22T10:32:58  <mvirkkil> Kepplar: it's an xml format
2006-06-22T10:33:04  <Kepplar> im assuming that because as far as i understand the only thing that should be pages and whatnot is wiki code
2006-06-22T10:33:08  <mvirkkil> Kepplar: It's used for containing documentation
2006-06-22T10:33:46  <mvirkkil> I'm not familiar with the attachment part of moinmoin. You'll need to ask someone else about that part.
2006-06-22T10:34:06  <Kepplar> don't you know what docbook is used for then?
2006-06-22T10:34:15  <mvirkkil> Kepplar: HUH?
2006-06-22T10:34:35  <Kepplar> personally from what ive gathered i cant see any use for any parser except wiki code one
2006-06-22T10:34:42  <Kepplar> outside reading attachments
2006-06-22T10:34:53  <mvirkkil> Kepplar: When you edit a wikipage, you usually write in to the small textbox using the wikisyntax. Instead you could write in docbook xml.
2006-06-22T10:35:19  <Kepplar> right
2006-06-22T10:35:29  <Kepplar> thats what i was trying to find out
2006-06-22T10:35:35  <mvirkkil> Kepplar: When you look at a wikipage you usually use your browser, so the output is html (or plaintext), but you could request it to output docbook instead.
2006-06-22T10:35:42  <Kepplar> i thought it was only wikisyntax
2006-06-22T10:35:53  <Kepplar> because it was the "wikiway" or something that ridicious
2006-06-22T10:36:30  <mvirkkil> But there are actually two sorts of parsers in moin at the moment:
2006-06-22T10:36:34  <Kepplar> er
2006-06-22T10:36:40  <Kepplar> that means you can write something in wikisyntax
2006-06-22T10:36:41  <Kepplar> save it
2006-06-22T10:36:42  <mvirkkil> Page parsers which are used to parse whole wikipages.
2006-06-22T10:36:49  <Kepplar> and request it in docbook
2006-06-22T10:37:03  <Kepplar> therefore you have to have a neutral internal format
2006-06-22T10:37:05  <mvirkkil> And block parsers which let you have syntax highlighting on a codeblock
2006-06-22T10:37:39  <mvirkkil> Kepplar: The netutal internal format, is the interface between the parsers and the formatters.
2006-06-22T10:37:46  <ThomasWaldmann> Kepplar: there is also rst markup you can use in moin pages, search for format rst
2006-06-22T10:38:27  <mvirkkil> Kepplar: rst is very similar to wikisyntax from a philosophical perspective. It also has a sence of the wikiway ;)
2006-06-22T10:38:44  <Kepplar> mvirkkil: your not making sense, how can you request a page as docbook (as you stated) which is a parser not a formatter if a page for example is initital written in wikisyntax
2006-06-22T10:39:12  <mvirkkil> Kepplar: Sorry for the bad example. There is a docbook parser _and_ a docbook formatter.
2006-06-22T10:39:21  <mvirkkil> Kepplar: the two are totally separate.
2006-06-22T10:39:26  <Kepplar> o
2006-06-22T10:39:31  <Kepplar> ok
2006-06-22T10:39:32  <Kepplar> so
2006-06-22T10:39:41  <Kepplar> a page written in X is always X
2006-06-22T10:39:44  <mvirkkil> yes
2006-06-22T10:39:55  <Kepplar> but anything written in X can be displayed with formatter A,B and C?
2006-06-22T10:40:42  <mvirkkil> the parser for X reads it in, and calls the formatter methods. The formatter can be A, B or C, but the parser doesn't know of that stuff, since it always calls the same methods.
2006-06-22T10:40:53  <Kepplar> yes
2006-06-22T10:40:55  <Kepplar> but
2006-06-22T10:40:57  <Kepplar> er
2006-06-22T10:40:58  <Kepplar> well
2006-06-22T10:41:06  <Kepplar> im not too sure on that architecture
2006-06-22T10:41:13  <Kepplar> if you have a page written in wiki syntax
2006-06-22T10:41:23  <Kepplar> you could then output it with docbook formatter, no?
2006-06-22T10:41:26  <mvirkkil> yes
2006-06-22T10:41:38  <Kepplar> then that could be fed back in as a new page using the docbook parser?
2006-06-22T10:41:47  <mvirkkil> theoretically yes.
2006-06-22T10:42:07  <Kepplar> vastly more powerful and architectuely sound if you had a neutral format
2006-06-22T10:42:27  <mvirkkil> Kepplar: Not really.
2006-06-22T10:42:45  <mvirkkil> Kepplar: Or at least give an example.
2006-06-22T10:43:22  <Kepplar> well it seems convoluted way of storing data
2006-06-22T10:43:35  <mvirkkil> Kepplar: Storing it in the original format you mean?
2006-06-22T10:43:48  <Kepplar> mvirkkil: yea and then shifting it to other formats with a formatter
2006-06-22T10:43:52  <Kepplar> instead when something to read in
2006-06-22T10:43:54  <ThomasWaldmann> http://moinmoin.wikiwikiweb.de/MoinMoinWiki?action=format&mimetype=text/plain
2006-06-22T10:44:07  <Kepplar> a parser should parse it and sent it to storage as a moin internal format
2006-06-22T10:44:20  <Kepplar> which is converted into whatever when it is read out
2006-06-22T10:44:29  <Kepplar> increases portability of data
2006-06-22T10:44:36  <mvirkkil> Kepplar: Why?
2006-06-22T10:45:16  <Kepplar> as you wouldnt have to rely on having the correct parser for the wiki data. the wiki data is currently written and stored in a variety of formats, instead of written in a variety of formats (At the users disgression) and stored in a formal neutral
2006-06-22T10:45:45  <mvirkkil> Kepplar: Lets say we have a page written in wikisyntax. It gets converted in to the internal syntax. Then I want to edit it again, the conversion back to the original format would have to be perfect.
2006-06-22T10:46:43  <Kepplar> better than than output it via a formatter and the reroute it in with the appropiete parser
2006-06-22T10:46:56  <mvirkkil> Kepplar: Huh?
2006-06-22T10:47:05  <Kepplar> format is out as docbook
2006-06-22T10:47:17  <Kepplar> and then parse it in as docbook (while you edit it as docbook)
2006-06-22T10:47:25  <mvirkkil> Kepplar:
2006-06-22T10:47:51  <ThomasWaldmann> Kepplar: we maybe will have some internal representation in the future, but I am quite sure we will ever store original format
2006-06-22T10:48:42  <Kepplar> if users have the option to create format neutral content as well as formatted content that sounds ok
2006-06-22T10:48:59  <mvirkkil> Kepplar: If you take a SAX-parser (generic XML parser) the interface to a sax parser is _extermely_ similar to how the interface in moinmoin is.
2006-06-22T10:49:26  <Kepplar> hehe, i was thinking of it as a SAX actually:)
2006-06-22T10:49:40  <Kepplar> ok
2006-06-22T10:49:48  <Kepplar> i need to head off for a bit, shower and that stuff
2006-06-22T10:55:30  <mvirkkil> Kepplar: If you have an xml document and you want to parse it you feed it to a SAX parser, and the parser will call your methods as it is parsing. Moin is implemented in the same way: the parser calls the methods. All dom implementations generally use a sax parser under the hood. There has been talk (and even an implementation) about using the existing sax-like interface to create a dom (xml_dom) which would then be used by the formatters.
2006-06-22T10:56:31  <mvirkkil> But implementing a formatter directly over the sax interface is faster and easier than creating a dom walker, and walking the nodes. The result is the same.
2006-06-22T12:36:58  <fpletz> moin
2006-06-22T12:37:40  <Kepplar> moin
2006-06-22T12:37:48  <fpletz> ThomasWaldmann: uh, right ;)
2006-06-22T12:47:42  <mvirkkil> ThomasWaldmann: Hmm.. I looked around, and it seems the Include macro isn't very widely supported. Maybe I'm better of creating an Insert macro, and dropping support for the Include, asking people to use the Insert macro instead.
2006-06-22T12:48:09  <mvirkkil> And when I say widely supported, I mean widely used.
2006-06-22T12:48:45  <mvirkkil> Oh well, I'll need to write it first to see how close to compatible I can make it.
2006-06-22T13:45:52  <ThomasWaldmann> mvirkkil: exactly :)
2006-06-22T13:50:06  <Kepplar> hey
2006-06-22T13:50:11  <Kepplar> can hg have multiple branches in a single repo
2006-06-22T13:50:11  <Kepplar> ?
2006-06-22T14:01:36  <ThomasWaldmann> i guess yes, but never used it. doing a local hg clone main tmprepo and pulling changes back into main later is cheap.
2006-06-22T14:13:33  <Kepplar> ThomasWaldmann: any thoughts on how to locate the metadata?
2006-06-22T14:14:04  <Kepplar> im thinking the only way would be to expensively go through all locations
2006-06-22T14:14:31  <ThomasWaldmann> what are you talking of?
2006-06-22T14:16:50  <Kepplar> about how you need to determine mimetype by metadata without knowing where the metadata is because of the mimetype
2006-06-22T14:16:58  <Kepplar> ive got 2.0's item.py in front of me
2006-06-22T14:18:03  <ThomasWaldmann> you have an item, the mimetype is store in its metadata. where is the problem?
2006-06-22T14:18:25  <Kepplar> exactly that sorta, but you dont have the item
2006-06-22T14:18:29  <Kepplar> you dont know where its stored
2006-06-22T14:18:42  <ThomasWaldmann> are you solving problems we will never have?
2006-06-22T14:18:49  <Kepplar> hardly
2006-06-22T14:18:56  <Kepplar> user, pages for example
2006-06-22T14:19:06  <Kepplar> we need to snipe the metadata
2006-06-22T14:19:13  <Kepplar> but we dont know where its stored
2006-06-22T14:19:19  <Kepplar> are we to expensively go through pages/ and users/
2006-06-22T14:19:23  <Kepplar> to find the write wikiword:
2006-06-22T14:19:23  <Kepplar> ?
2006-06-22T14:19:37  <Kepplar> (im having a brainstorming sessions tonight with a friend to try an solve the problems)
2006-06-22T14:19:44  <ThomasWaldmann> are you talking of 1.5 compatible stuff?
2006-06-22T14:19:47  <Kepplar> yes
2006-06-22T14:20:13  <Kepplar> one idea is a kind of boostrap
2006-06-22T14:20:20  <Kepplar> bootstrap sorry
2006-06-22T14:20:25  <Kepplar> a metadata mimetype cache
2006-06-22T14:20:28  <ThomasWaldmann> i guess you have to specialcase that
2006-06-22T14:20:33  <Kepplar> yea
2006-06-22T14:20:42  <ThomasWaldmann> there is no real metadata in 1.5
2006-06-22T14:20:50  <ThomasWaldmann> and stuff is kept separate
2006-06-22T14:20:51  <Kepplar> well the # in the file :)
2006-06-22T14:21:08  <ThomasWaldmann> stuff = users and pages
2006-06-22T14:21:09  <Kepplar> seperate? its just at the top of the file
2006-06-22T14:21:10  <Kepplar> oh
2006-06-22T14:21:10  <Kepplar> yea
2006-06-22T14:21:23  <ThomasWaldmann> don't waste too much time on that
2006-06-22T14:21:29  <Kepplar> ok
2006-06-22T14:21:33  <Kepplar> if i cant solve it tonight
2006-06-22T14:21:36  <Kepplar> ill bodge it for now
2006-06-22T14:22:01  <Kepplar> my friend is rather good as a ball to bounce ideas off :)
2006-06-22T14:22:12  <ThomasWaldmann> the primary goal is to have new storage and api, not to have a great architecture for the old stuff
2006-06-22T14:22:24  <Kepplar> true
2006-06-22T14:22:41  <Kepplar> oh
2006-06-22T14:22:48  <Kepplar> and ive started converting away from H.N
2006-06-22T14:29:45  <ThomasWaldmann> congrats :)
2006-06-22T14:30:24  <Kepplar> i still prefer it though, not as religiously as uni as you suggested but a conept of how to handle an object :P
2006-06-22T20:11:22  <Kepplar> just setting up wireless now
2006-06-22T20:23:26  <ThomasWaldmann> moin dreimark
2006-06-22T20:30:03  <dreimark> moin
2006-06-22T20:30:24  <dreimark>  moin Thomas
2006-06-22T20:31:38  <dreimark> ThomasWaldmann:ImageLink.py.patch.20060507
2006-06-22T20:33:14  <ThomasWaldmann> is this the latest?
2006-06-22T20:36:08  <dreimark> This is the one without the taintfile function
2006-06-22T20:37:04  <dreimark> Without taintfile it is possible to upload an image to an other wiki on the same server. The upload is then done from the other one wiki. But the image is not shown. So it might give some useability trouble. Let's see. For now I do remove the taintfile function.
2006-06-22T20:38:06  <ThomasWaldmann> you should use the date after the last .
2006-06-22T20:38:19  <ThomasWaldmann> it makes a binary mimetype
2006-06-22T20:39:35  <dreimark> the last or the first? ImageLink.py.patch.20060507 to ImageLink.20060507.py.patch
2006-06-22T20:39:44  <ThomasWaldmann> ? does that mean you can write an image to an arbitrary path given by the user?
2006-06-22T20:40:58  <dreimark> ThomasWaldmann: no it uses always the wikis AttachFile but this does not check where it is called from
2006-06-22T20:40:59  <ThomasWaldmann> the extension should be known by mimetypes module
2006-06-22T20:42:21  <dreimark> ahh ok, I keep this in remind for further patches
2006-06-22T20:42:39  <ThomasWaldmann> (just try to look at it)
2006-06-22T20:45:16  <dreimark> may be wikiutil.checkTicket and wikiutil.createTicket should store the wiki where it was called from
2006-06-22T20:45:36  <dreimark> or doesn't this matter
2006-06-22T20:47:32  <ThomasWaldmann> that patch is against repo?
2006-06-22T20:49:45  <dreimark> checking
2006-06-22T20:52:33  <dreimark> against the one of the 1.6 branch
2006-06-22T20:54:32  <dreimark> requesting 1.5 changes now
2006-06-22T20:58:25  <dreimark> ithe version in 1.5 is the same as in 1.6
2006-06-22T21:01:39  <Kepplar> moin \o/
2006-06-22T21:15:32  <ThomasWaldmann> dreimark: I review it in a few minutes. Have to first get some work done I have already begun before.
2006-06-22T21:15:57  <ThomasWaldmann> i want to release 1.5.4 soon, so we need a stable version of the macro.
2006-06-22T21:18:40  <Kepplar> hey ThomasWaldmann
2006-06-22T21:18:46  <Kepplar> is there a way of doing something to the effect
2006-06-22T21:18:48  <Kepplar> of
2006-06-22T21:18:59  <Kepplar> for something in something if condiitoonn
2006-06-22T21:19:07  <Kepplar> sorta how list comp works, but not for a list
2006-06-22T21:19:14  <Kepplar> (readline())
2006-06-22T21:20:18  <ThomasWaldmann> "in" doesnt make much sense if it isnt a list
2006-06-22T21:22:48  <dreimark> ThomasWaldmann:ok, we could test it on MM
2006-06-22T21:31:36  <Kepplar> er
2006-06-22T21:31:37  <Kepplar> yea ok
2006-06-22T21:31:38  <Kepplar> no in
2006-06-22T21:31:39  <Kepplar> basically
2006-06-22T21:31:52  <Kepplar> i want to to readline until the end of the metadata lines
2006-06-22T21:39:09  <ThomasWaldmann> dreimark: your patch is not pep8
2006-06-22T21:39:37  <dreimark> worse again
2006-06-22T21:42:35  <dreimark> there are so few lines
2006-06-22T21:42:37  <dreimark> changed
2006-06-22T21:44:51  <dreimark> the blanks
2006-06-22T21:50:34  <dreimark> mageLink_20060622.py.patch
2006-06-22T22:05:22  <Kepplar> ThomasWaldmann: from what i can gather from 2.0 branch
2006-06-22T22:05:25  <Kepplar> item wrapper
2006-06-22T22:05:35  <Kepplar> gets its mimetype from "request"
2006-06-22T22:09:40  <Kepplar> am i correct?
2006-06-22T22:13:19  <ThomasWaldmann> dreimark: ok, I committed the new file
2006-06-22T22:14:53  <ThomasWaldmann> Kepplar: you can implement that so it works best for you. relevant code is 1.6 plus your stuff.
2006-06-22T22:17:10  <Kepplar> oh im just trying to work out how you solved the problem
2006-06-22T22:22:49  <dreimark> ThomasWaldmann: Does one work actually on formatter.image
2006-06-22T22:32:48  <ThomasWaldmann> dreimark: 1.5 only gets bugfixes and non-core stuff
2006-06-22T22:33:12  <ThomasWaldmann> and for 1.6: not me currently
2006-06-22T22:34:39  <dreimark> ok. If I do add something I do it for 1.6 too
2006-06-22T22:34:48  <dreimark> or only for this
2006-06-22T22:39:09  <ThomasWaldmann> http://moinmoin.wikiwikiweb.de/MoinMoinBugs/ImageLinkToAttachmentBroken if your patch fixes this, you can close the bug
2006-06-22T23:01:27  <Kepplar> hmm
2006-06-22T23:01:28  <Kepplar> ok
2006-06-22T23:01:32  <Kepplar> had a talk with my friend
2006-06-22T23:01:36  <Kepplar> hes out of ideas too
2006-06-22T23:01:43  <Kepplar> apart from tagging the mimetype to the wikiname:/
2006-06-22T23:01:46  <Kepplar> which is bad :/
2006-06-22T23:02:15  <Kepplar> solution tho
2006-06-22T23:02:48  <Kepplar> is when saving mimetype and storage engine is saved to a cache
2006-06-22T23:02:50  <Kepplar> centralised
2006-06-22T23:02:58  <Kepplar> which im going ahead with
2006-06-22T23:03:05  <Kepplar> the engine bit is not relevent yet
2006-06-22T23:03:28  <Kepplar> it will help determine in the future when support for multi storage engine at the same time kicks in
2006-06-22T23:53:55  *** irc.freenode.net sets mode: +o ChanServ

MoinMoin: MoinMoinChat/Logs/moin-dev/2006-06-22 (last edited 2007-10-29 19:13:23 by localhost)