2007-04-15T00:25:11  <dreimark> ThomasWaldmann:can you check how the spammer could have created that page http://moinmoin.wikiwikiweb.de/henrikomma
2007-04-15T00:26:15  <dreimark> Skip recognized that wiki.python.org gots similiar spam using the first category there
2007-04-15T00:28:32  <dreimark> he believes its automated.
2007-04-15T08:26:20  <dreimark> It seems skip was sucessfull by creating a category on top on the list and adding that name to LocalBadContent
2007-04-15T09:21:10  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 1991:a51db06be0bd /MoinMoin/action/Load.py: Load: only exists and overwrite need to test for delete rights
2007-04-15T09:52:57  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 1992:c4bfc16a6081 /docs/CHANGES: CHANGES: inline, view and EmbedObject
2007-04-15T11:01:06  <lanius> hello world
2007-04-15T11:17:08  <dreimark> wonderfull morning
2007-04-15T11:22:41  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 1993:93877b7d87b9 /MoinMoin/ (11 files in 4 dirs): fixing copyright headers:unified my name
2007-04-15T11:33:57  <ThomasWaldmann> moin
2007-04-15T11:36:17  <lanius> hi
2007-04-15T11:36:40  <lanius> the "Zoll" thing is a bug in visio, it should be "in", i have a local fix here
2007-04-15T11:38:26  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 1994:aee7c17cea24 /MoinMoin/ (5 files in 2 dirs): fixing copyright headers:unified my name
2007-04-15T11:39:20  <xorAxAx> "zoll"? ha
2007-04-15T11:39:32  <lanius> ThomasWaldmann: i added all the get/set functions so the object can keep track of the changes and only the changes will be written then, not the whole item
2007-04-15T11:39:38  <lanius> xorAxAx: http://moinmoin.wikiwikiweb.de/StorageRefactoring/SOC2007
2007-04-15T11:39:43  <lanius> look in the uml diagramm
2007-04-15T11:40:11  <xorAxAx> LOL
2007-04-15T11:40:36  <lanius> microsoft really has a lot of good translator :D
2007-04-15T11:41:52  <xorAxAx> so a storagemanager implementation delegates to the storagebackend implementation?
2007-04-15T11:42:10  <lanius> yes
2007-04-15T11:42:55  <xorAxAx> btw, you dont need getter setters in python :)
2007-04-15T11:43:21  <ThomasWaldmann> muhaha, quality sw made by M$ :)
2007-04-15T11:43:36  <lanius> i don't know yet, take a look at my comment above and make your mind
2007-04-15T11:44:10  <xorAxAx> ThomasWaldmann: is the search bug already fixed in 1.6?
2007-04-15T11:44:22  <xorAxAx> that you cant use -
2007-04-15T11:44:38  <xorAxAx> (because you were talking about a release :)
2007-04-15T11:44:42  * xorAxAx checks on test.www.de
2007-04-15T11:46:17  <xorAxAx> no, still broken :-(
2007-04-15T11:46:21  <xorAxAx> makes it nearly unusable
2007-04-15T11:46:39  <xorAxAx> our ex-soc student interestingly promised to fix it
2007-04-15T11:46:58  <ThomasWaldmann> url of bugreport?
2007-04-15T11:47:09  <xorAxAx> no idea
2007-04-15T11:47:50  <xorAxAx> lanius: thomas idea was to have classes that implement behaviour based on their mimetype
2007-04-15T11:48:33  <xorAxAx> lanius: btw, if the smanager only delegates, whats the added advantage of having one? :)
2007-04-15T11:49:02  <lanius> the smanager decides to which backend it must delegate
2007-04-15T11:49:36  <xorAxAx> how about a decorator+container pattern with a backend that can delegate?
2007-04-15T11:49:53  <xorAxAx> so you have a kind of dispatcher backend that takes different backend isntances
2007-04-15T11:49:57  <dreimark> xorAxAx:what is your search string
2007-04-15T11:50:05  <xorAxAx> dreimark: foo -notification
2007-04-15T11:50:16  <xorAxAx> foo yields 123 results, that one yields 0 results
2007-04-15T11:50:21  <xorAxAx> on test.www.de
2007-04-15T11:50:30  <ThomasWaldmann> btw, instead of getRev and addRev we could also use item.rev[rev] and item.rev.append(Rev)
2007-04-15T11:50:44  <xorAxAx> ThomasWaldmann: makes sense
2007-04-15T11:51:10  <lanius> ThomasWaldmann: generally yes, but
2007-04-15T11:51:17  <xorAxAx> (the method would be called getitem for the sake of the diagram :))
2007-04-15T11:51:31  <lanius> like i said above, the item has to keep track of the changes so when saving not everything has to be saved but only the changes
2007-04-15T11:51:51  <lanius> how else could you implement just saving the changes
2007-04-15T11:52:07  <xorAxAx> lanius: of course item.rev wont be a list ...
2007-04-15T11:52:25  <lanius> but
2007-04-15T11:52:32  <xorAxAx> but your own instrumented class that manages the orthogonal persistence )
2007-04-15T11:53:00  <xorAxAx> every class can implement getitem :)
2007-04-15T11:55:28  <lanius> i think i understand
2007-04-15T11:55:50  <lanius> what about the thing with multiple data parts?
2007-04-15T11:56:04  <ThomasWaldmann> currently needed for twikidraw
2007-04-15T11:56:06  <xorAxAx> thats not so easy to model
2007-04-15T11:56:25  <xorAxAx> the necessary semantics are not so clear ...
2007-04-15T11:56:45  <ThomasWaldmann> http://moinmoin.wikiwikiweb.de/MoinMoinTodo/Release_2.0/OpenProblems
2007-04-15T11:57:03  <xorAxAx> but if you have type hierachy with different behaviours, you could have a type that packs all data streams into one item
2007-04-15T11:57:26  <xorAxAx> but the most obvious problem is that twiki draw issues 2 requests to save its 2 files
2007-04-15T11:57:35  <xorAxAx> so you dont have a transaction ..
2007-04-15T11:57:47  <xorAxAx> but we could also just ignore this problem :)
2007-04-15T11:58:19  <ThomasWaldmann> xorAxAx: i guess we could modify twikidraw to give an id when saving, so we can put both files into one itemrev
2007-04-15T12:00:46  <xorAxAx> i think the filename is enough of an id ...
2007-04-15T12:01:58  <lanius> so data must be some kind of list type?
2007-04-15T12:01:59  <ThomasWaldmann> id for identifying the rev where to put it
2007-04-15T12:02:52  <xorAxAx> lanius: no, data is an instance of a class with a file-like interface
2007-04-15T12:03:15  <xorAxAx> i.e. read, seek, tell, etc.
2007-04-15T12:03:56  <ThomasWaldmann> and some comfort for the lazy callers :)
2007-04-15T12:04:12  <xorAxAx> ThomasWaldmann: well, read() is his getData()
2007-04-15T12:05:01  <xorAxAx> the idea is to avoid having all data in memory for 2 GB attachments
2007-04-15T12:05:05  <xorAxAx> getdata doesnt scale
2007-04-15T12:05:05  <lanius> python is really missing a stream object
2007-04-15T12:05:09  <xorAxAx> (we are not zope :))
2007-04-15T12:05:11  <xorAxAx> lanius: ?
2007-04-15T12:05:20  <xorAxAx> lanius: python is duck-typed, it has a file protocol
2007-04-15T12:05:26  <xorAxAx> which needs to be implemented here
2007-04-15T12:05:27  <ThomasWaldmann> i am thinking of also having some attr where you just get the data, without doing a read()
2007-04-15T12:05:39  <xorAxAx> ThomasWaldmann: .data would be that, yes
2007-04-15T12:06:26  <lanius> xorAxAx: yes but i can't the file object, i have to write a new one
2007-04-15T12:06:43  <xorAxAx> lanius: of course :)
2007-04-15T12:06:52  <lanius> how
2007-04-15T12:07:02  <xorAxAx> i mean, of course you have "to write a new one"
2007-04-15T12:07:07  <lanius> oh ^^
2007-04-15T12:07:19  <lanius> in java i could use a stream object and there would be streamreaders and writers
2007-04-15T12:07:20  <xorAxAx> but i dont see how a mixin or abstract base class would help here
2007-04-15T12:07:30  <xorAxAx> we dont want to implement all file methods
2007-04-15T12:07:36  <xorAxAx> only the necessary ones
2007-04-15T12:07:53  <xorAxAx> (which needs to be well-thought)
2007-04-15T12:08:07  <dreimark> can we restrict later on the filespace for an item?
2007-04-15T12:09:34  <xorAxAx> dreimark: you mean the storage space? thats a matter of the storagebackend
2007-04-15T12:10:28  <dreimark> depends if a zipfile is an item or ?
2007-04-15T12:11:04  <ThomasWaldmann> lanius: btw, that file like interface will be useful for some places where we use shutil.copyfile() (or similar)
2007-04-15T12:11:04  <lanius> it is
2007-04-15T12:12:00  <ThomasWaldmann> (that will do in.read and out.write until eof)
2007-04-15T12:13:19  <lanius> would it only copy the data or the complete item
2007-04-15T12:13:50  <dreimark> xorAxAx:may be its more the backend, but if you take revisions of different mimetypes they should have different limits
2007-04-15T12:14:50  <dreimark> ideally but mustn't not
2007-04-15T12:17:45  <ThomasWaldmann> lanius: that special use would stream out the content, using a buffer
2007-04-15T12:18:06  <ThomasWaldmann> see AttachFile.py for some use cases
2007-04-15T12:19:07  <ThomasWaldmann> for the metadata stuff, we rather need a list or ordered dict like interface (there is some code)
2007-04-15T12:19:20  <lanius> why ordered
2007-04-15T12:21:35  <ThomasWaldmann> you could have multiple key/value pairs with the same key
2007-04-15T12:21:49  <lanius> why
2007-04-15T12:22:51  <ThomasWaldmann> hmm, we only need that if we want to reproduce stuff like it was entered
2007-04-15T12:22:55  <ThomasWaldmann> e.g.
2007-04-15T12:23:02  <ThomasWaldmann> #keyword bla
2007-04-15T12:23:10  <ThomasWaldmann> #keyword blubb
2007-04-15T12:23:17  <ThomasWaldmann> in contrary to
2007-04-15T12:23:25  <ThomasWaldmann> #keyword bla blubb
2007-04-15T12:24:20  <lanius> do we really want this
2007-04-15T12:24:25  <xorAxAx> dreimark: good point
2007-04-15T12:24:32  <ThomasWaldmann> if we dont store acls in the "concatenated" form, we need this
2007-04-15T12:24:43  <ThomasWaldmann> if we do, maybe we dont need this
2007-04-15T12:24:54  <lanius> a list could parsed out of it
2007-04-15T12:24:58  <lanius> so we have key -> list
2007-04-15T12:25:13  <ThomasWaldmann> (you can have multiple acl lines and order is important)
2007-04-15T12:26:17  <ThomasWaldmann> maybe delay that until you see it :)
2007-04-15T12:27:50  <lanius> well, i'd like to finish the design before coding
2007-04-15T12:29:15  <xorAxAx> i think you cant design without having seen code :)
2007-04-15T12:29:22  <xorAxAx> keppy tried that strategy :)
2007-04-15T12:29:34  <xorAxAx> (of course you dont need to start writing code yet)
2007-04-15T12:30:19  <ThomasWaldmann> maybe start transforming the diagram to be more pythonic
2007-04-15T12:31:09  <ThomasWaldmann> and maybe just dont use "in" at that place :)
2007-04-15T12:31:19  <lanius> i can't remove it
2007-04-15T12:31:29  <xorAxAx> :-)
2007-04-15T12:32:48  <ThomasWaldmann> maybe using a textual representation is better for the next 10 iterations
2007-04-15T12:33:19  <ThomasWaldmann> less work, faster roundtrip :)
2007-04-15T12:33:44  <lanius> it's more work, at least for me
2007-04-15T12:33:53  <ThomasWaldmann> you could even just use python with docstrings
2007-04-15T12:33:54  <lanius> basicly visio is a very nice tool
2007-04-15T12:36:02  <lanius> well i could do the class diagramms with visio and the function definitions in textual form
2007-04-15T12:38:09  <ThomasWaldmann> if you want contributions in form of changes, i guess using text has a better chance than using gfx or visio files
2007-04-15T12:38:53  <xorAxAx> i think it makes sense if he does the diagram on his own at the beginning
2007-04-15T12:39:07  <xorAxAx> because design is about coherence and not about multiplicity :)
2007-04-15T12:39:16  <xorAxAx> in this case at least :)
2007-04-15T12:41:05  <lanius> i think contribution makes sense becuase you know better what else is needed, i wan't get it all by only reading the code
2007-04-15T12:41:38  <ThomasWaldmann> lets have some intelligent design ;)
2007-04-15T12:41:40  <xorAxAx> lanius: yes, right. but the question is if the list of questions below the diagram is enough or if people should modify the diagram/representation directly
2007-04-15T12:45:42  <ThomasWaldmann> lanius: if the visio stuff is easy to modify for you, maybe just condense what we have now into a new diagram
2007-04-15T12:46:03  <xorAxAx> yeah, some kind of reverse engineering makes sense
2007-04-15T12:46:38  <ThomasWaldmann> (btw, having visio as input format will mean that nobody except you will ever change or update those diagrams)
2007-04-15T12:47:06  <xorAxAx> i have visio as well :)
2007-04-15T12:47:20  <xorAxAx> and visio can export xml files
2007-04-15T12:47:25  <xorAxAx> which can be read by gnome planer
2007-04-15T12:47:27  <xorAxAx> planner
2007-04-15T12:47:31  <xorAxAx> which is open source :)
2007-04-15T12:47:35  <xorAxAx> ThomasWaldmann: emerge planner
2007-04-15T12:47:47  <xorAxAx> oops, thats wrong
2007-04-15T12:47:52  <xorAxAx> planner could read project files
2007-04-15T12:47:53  <xorAxAx> hmm
2007-04-15T12:48:11  <xorAxAx> ok, that makes it more difficult
2007-04-15T12:48:31  <lanius> yeah, i'm open for suggestions of other tools, just found no good open source alternative for win and linux
2007-04-15T12:48:39  <xorAxAx> me neither
2007-04-15T12:48:57  <xorAxAx> well, there is bouml, argouml, dia
2007-04-15T12:48:59  <ThomasWaldmann> i guess there are, but I dont know/use them
2007-04-15T12:49:29  <xorAxAx> bouml is in c++, argouml is in java
2007-04-15T12:49:41  <xorAxAx> argouml is pretty easy to get running if you have a JVM
2007-04-15T12:49:50  <xorAxAx> dia is pretty powerful as well
2007-04-15T12:50:00  <xorAxAx> (6 tabs in the class property sheet etc.)
2007-04-15T12:52:55  <lanius> we need a wiki integrated uml editor
2007-04-15T12:53:37  <xorAxAx> well :)
2007-04-15T12:54:01  <lanius> ok, i try to incoporate the changes and then we go on
2007-04-15T12:54:21  <lanius> have to go now, bye
2007-04-15T12:54:26  <dreimark> http://moinmoin.wikiwikiweb.de/uml2ascii
2007-04-15T12:55:32  <dreimark> never tried
2007-04-15T12:55:36  <lanius> ^^
2007-04-15T12:55:52  <lanius> will have a look
2007-04-15T12:55:55  <lanius> cu guys
2007-04-15T13:01:06  <ThomasWaldmann> dreimark: that code needs an update :)
2007-04-15T13:04:32  <ThomasWaldmann> the question is whether it is usable, though
2007-04-15T13:05:17  <dreimark> and when we will know that
2007-04-15T13:07:37  <dreimark> more at which time before or after the update  i search later on for some other uml xml tools
2007-04-15T13:08:12  <dreimark> i would prefer something similiar to the latex parser
2007-04-15T13:08:30  <ThomasWaldmann> that line oriented box format is maybe not good for real world stuff
2007-04-15T13:11:13  <ThomasWaldmann> maybe having a box as a sequence of lines would scale better and look better in the src
2007-04-15T13:40:45  * ThomasWaldmann made a parser out of ol' uml2ascii processor code

MoinMoin: MoinMoinChat/Logs/moin-dev/2007-04-15 (last edited 2007-10-29 19:08:30 by localhost)