2007-04-23T08:59:26  <dreimark> fpletz:news from xapian? ;)
2007-04-23T12:35:20  <xorAxAx> ThomasWaldmann: where is heinrich?
2007-04-23T12:57:26  <lanius> hello
2007-04-23T13:13:32  <xorAxAx> hi lanius
2007-04-23T13:13:48  <xorAxAx> lanius: have you thought about the ideas that i had?
2007-04-23T13:37:42  <lanius> xorAxAx: it would be easier if you could present your ideas in form of a uml diagramm
2007-04-23T13:38:35  <lanius> the last few days i had not much  time, but i wan't to finish the design soon
2007-04-23T13:40:30  <xorAxAx> ok, i can modify the current one
2007-04-23T13:40:42  <lanius> yes, i appended the zargo file
2007-04-23T13:43:27  <dreimark> ThomasWaldmann:MoinMoinBugs/1.6devGuiCancelBug MoinMoin/script/../../MoinMoin/util/pysupport.py  ImportError: No module named converter
2007-04-23T13:44:06  <dreimark> moin neagulm
2007-04-23T13:50:22  <neagulm> hy dreimark
2007-04-23T13:51:51  <dreimark> negaulm:is that technic described in Exchanging filter usefull for us?
2007-04-23T13:52:12  <dreimark> sorry
2007-04-23T13:52:23  <dreimark> neagulm: :is that technic described in Exchanging filter usefull for us?
2007-04-23T13:52:53  <dreimark>  fpletz:news from xapian? ;)
2007-04-23T13:53:02  <xorAxAx> :-)
2007-04-23T13:53:23  <xorAxAx> dreimark: does your irc client support tab completion?
2007-04-23T13:53:54  <dreimark> xorAxAx: that's makes it easier
2007-04-23T13:53:57  <dreimark> less typo
2007-04-23T13:59:11  <neagulm> dreimark, 1 sec, i'm at school
2007-04-23T13:59:45  <flowhase> moin
2007-04-23T13:59:55  * flowhase is back from freiburg
2007-04-23T14:04:01  <dreimark>  neagulm: hmm I am on work,  I do read in steps and answers could be delayed
2007-04-23T14:04:02  <dreimark> or at work sound better
2007-04-23T14:05:07  <ffesti> moin flowhase
2007-04-23T14:05:32  <flowhase> ah
2007-04-23T14:05:49  <flowhase> i looked for "Fabi" ... so i did not see you
2007-04-23T14:05:58  <ffesti> camoflage
2007-04-23T14:06:05  <flowhase> :>
2007-04-23T14:08:22  <flowhase> so, about meeting in the near future: any suggestions?
2007-04-23T14:08:55  <flowhase> i think in about a week i will have my new bc50
2007-04-23T14:08:55  <ffesti> I do not yet plan to be on the Linux Tag
2007-04-23T14:10:14  <flowhase> GPN6 would be also a nice opportunity to meet, but i think this is a bit late (1.6.)
2007-04-23T14:10:37  <flowhase> since coding will start end of may
2007-04-23T14:11:43  <ffesti> yup
2007-04-23T14:13:00  <flowhase> are you working fulltime somewhere or are you more like a flexible (regarding time schedules) student yourself?
2007-04-23T14:13:23  <ffesti> may be we can just meet either in Stuttgart or Karlsruhe
2007-04-23T14:13:25  <neagulm> dreimark, related to your question  about "Exchanging  filers..."... Partialy, i was only interested about the main ideea. Currently I am searching for the most appropriate techniques to use for spam filtering in moinmoin
2007-04-23T14:13:38  <ffesti> I work fulltime
2007-04-23T14:14:05  <flowhase> so weekend would be preferable i guess?
2007-04-23T14:14:22  <dreimark> neagulm: may be we should discuss this with skip too
2007-04-23T14:14:42  <ffesti> yes, depending on how many time we think we need
2007-04-23T14:15:30  <neagulm> dreimark, yes because he must have some insight in the current techniques that should be implemented in MoinMoin
2007-04-23T14:15:31  <ffesti> but I guess we better have an hour more or two
2007-04-23T14:15:35  <neagulm> dreimark, brb
2007-04-23T14:15:52  <flowhase> ffesti: yeah
2007-04-23T14:17:15  <dreimark>  neagulm:should we take Tuesday evening again (tommorrow) if he has time.
2007-04-23T14:18:26  <ser> hello - i am writing moin macro to present nice charts for system stats, the question is:
2007-04-23T14:18:39  <ser> can i use your version control system for developing it?
2007-04-23T14:18:40  <flowhase> ffesti: well, i think some saturday noon/afternoon would be perfect then?
2007-04-23T14:18:54  <ffesti> yes
2007-04-23T14:19:26  <ffesti> I currently cannot name a week end yet as there still some picture showing events to be sheduled
2007-04-23T14:19:46  <flowhase> ok
2007-04-23T14:20:21  <ffesti> is So afternoon ok for you, too?
2007-04-23T14:20:43  <flowhase> yes
2007-04-23T14:21:38  <flowhase> hmm
2007-04-23T14:21:44  <ffesti> I guess we can fix the day during this week
2007-04-23T14:22:54  <neagulm> dreimark, yes, it is ok. Same time ?
2007-04-23T14:23:07  <flowhase> ah, 5th/6th of may could be a bit of a problem though
2007-04-23T14:23:38  <dreimark> neagulm: its ok with me, and we know now its 2pm for Skip :)
2007-04-23T14:23:40  <flowhase> the 5th i am in cologne at my mothers bday
2007-04-23T14:24:15  <flowhase> and the 6th i will arrive a bit late back in karlsruhe and will have bday myself, so i would like to share that day with some friend
2007-04-23T14:24:17  <dreimark> I do send him an mail
2007-04-23T14:24:18  <flowhase> s
2007-04-23T14:27:09  <neagulm> dreimark, Related to my work: Where should the classification be done ? I don't like using SecurityPolicy for classification.
2007-04-23T14:27:15  <neagulm> dreimark, SecurityPolicy should be used just for enforcing a policy based on the results of classification, right?
2007-04-23T14:29:33  <neagulm> dreimark, The classification should be done in Page() ? Something Like: PageInstance.getClass() ? implemented at this level it could be used in most parts of MoinMoin
2007-04-23T14:30:30  <dreimark> neagulm:Page or PageEditor
2007-04-23T14:36:21  <ffesti> flowhase, no problem, we'll find a proper date
2007-04-23T14:37:18  <ffesti> may be that the next sunday (29th) is still free, but I'll have to check first
2007-04-23T14:37:25  <flowhase> ffesti: till then i will concentrate on further exploring the moin codebase and organizing my ideas
2007-04-23T14:37:41  <dreimark>  neagulm:PageEditor before Save
2007-04-23T14:37:51  <flowhase> no sweat ... i am here all week
2007-04-23T14:38:00  <flowhase> :>
2007-04-23T14:39:20  <neagulm> dreimark, PageEditor for the doing the classification and Page for retrieving the classification ?
2007-04-23T14:40:04  <ffesti> flowhase, just subscribed to your pages
2007-04-23T14:46:49  <dreimark> neagulm:right
2007-04-23T14:48:03  <neagulm> dreimark, A problem occurs:  A page could be classified after some edits as belonging to ClassA but after modifications to other pages in the wiki our page should reclassified as belonging to ClassA and *ClassB*...
2007-04-23T14:48:13  <neagulm> dreimark, What happens now ?
2007-04-23T14:49:38  <neagulm> dreimark, If we do the classification directly in Page() and the training via PageEditor() the problem should be solved.... This maters if we want to be able to do n-way classification
2007-04-23T14:50:10  <neagulm> dreimark, eg. providing the feature of automatic tagging of pages
2007-04-23T14:50:14  <neagulm> dreimark, brb
2007-04-23T15:17:11  <neagulm> dreimark, i'm back
2007-04-23T15:38:10  <dreimark> neagulm: may be if a page belongs to ClassA and ClassB this could be the start of a new class, btw. could that class know who are their parents
2007-04-23T15:41:34  <neagulm> dreimark, this would mean that we enter the domain of hierarchical clustering. I think that I will postpone this idea until we have a working classifier.
2007-04-23T15:41:55  <dreimark> neagulm:ok,
2007-04-23T15:43:25  <dreimark> can you add some points on your page which you want to discuss so skip can gear up for that
2007-04-23T15:43:55  <johill> hmm
2007-04-23T15:44:17  * johill ponders doing a http:BL security policy that queries projecthoneypot.org data
2007-04-23T15:45:59  <johill> todo list :P
2007-04-23T15:50:06  <neagulm> dreimark, ok
2007-04-23T17:14:06  <neagulm> bbl
2007-04-23T17:14:09  <neagulm> seeya
2007-04-23T18:22:31  <dreimark> bbl
2007-04-23T18:45:30  <ThomasWaldmann> moin
2007-04-23T18:46:08  <grzywacz> Somehow "moin" looks like "morning" to me.
2007-04-23T18:46:09  <grzywacz> -_-;
2007-04-23T18:46:46  <ThomasWaldmann> http://moinmoin.wikiwikiweb.de/MoinMoinEtymology
2007-04-23T18:55:20  <grzywacz> Yes, I know. :)
2007-04-23T19:18:41  <ThomasWaldmann> lanius: any new thoughts about the api?
2007-04-23T19:25:41  <lanius> ThomasWaldmann: i'm waiting for input from you guys in form of changes of the uml diagramm
2007-04-23T19:26:38  <ThomasWaldmann> i played some hours with argouml before deciding that this is no tool for me
2007-04-23T19:27:04  <lanius> hmmm
2007-04-23T19:27:19  <lanius> i found it quite simple to use
2007-04-23T19:27:57  <ThomasWaldmann> it is quite simple to delete wrong stuff and make diagrams for java-type programs
2007-04-23T19:28:03  <lanius> at least xorAxAx will make some changes, after that we will discuss further, but i want to finish the design soon
2007-04-23T19:28:11  <ThomasWaldmann> but not very suited for python
2007-04-23T19:28:19  <lanius> well, it's uml
2007-04-23T19:29:03  <ThomasWaldmann> I just used a python-like text file to braindump.
2007-04-23T19:29:26  <lanius> in the end i don't care, but we have to decide on something
2007-04-23T19:29:46  <xorAxAx> lanius: yes, i will have a look
2007-04-23T19:29:47  <lanius> i will have a lot of time on the weekend and 1st may, we could arrange a meeting...
2007-04-23T19:31:27  <ThomasWaldmann> cyber or meatspace?
2007-04-23T19:31:48  <lanius> both
2007-04-23T19:32:31  <ThomasWaldmann> so let's meet somewhere, sit at one desk and talk via irc :))
2007-04-23T19:32:40  <lanius> that sounds cool :D
2007-04-23T19:33:42  <ThomasWaldmann> lanius: we could also have a voice conference on skype
2007-04-23T19:34:45  <lanius> yes, i'll install my headset in a few minutes so we can try
2007-04-23T19:36:24  <lanius> will be a few more minutes (it's empty), but during the evening we can try if it is possible
2007-04-23T19:36:56  <ThomasWaldmann> bt headset?
2007-04-23T19:36:59  <lanius> yes
2007-04-23T19:37:33  * ThomasWaldmann just has his lousy notebook mic and speakers :-P
2007-04-23T19:38:05  <lanius> at least you have a notebook mic
2007-04-23T19:38:18  <lanius> but my speakers are really really bad, listening to music is a pain
2007-04-23T19:40:17  <lanius> i'm looking for a good 2.1 system
2007-04-23T19:40:47  <ThomasWaldmann> http://moinmoin.wikiwikiweb.de/StorageRefactoring/TwInput
2007-04-23T19:41:23  <ThomasWaldmann> (neither complete, nor finished)
2007-04-23T19:52:55  <lanius> i'm a bit confused about your high level / medium level...
2007-04-23T19:54:34  <lanius> where do you request an item
2007-04-23T19:55:21  <lanius> what is meant by CompositeNamespaceß
2007-04-23T19:58:24  <ThomasWaldmann> reading an item could be namespace['ItemName']
2007-04-23T20:03:49  <lanius> and how do the layerd and compositenamspace mapp in?
2007-04-23T22:26:50  <ThomasWaldmann> lanius: is this a implementation question or about what it is for?
2007-04-23T22:30:12  <neagulm> hello
2007-04-23T22:31:03  <neagulm> does somebody have some UML diagrams of MoinMoin ? they would be very useful...
2007-04-23T22:32:14  <ThomasWaldmann> no
2007-04-23T22:32:47  <ThomasWaldmann> but there is epydoc output and some short description what happens for a typical request
2007-04-23T22:34:19  <neagulm> ThomasWaldmann, ok. I was studying where i can hook the classification (general+spam) stuff...
2007-04-23T22:36:31  <lanius> ThomasWaldmann: what the CompositeNamespace is for and how all three namespaces plugin together
2007-04-23T22:37:07  <ThomasWaldmann> neagulm: i guess you need some hooks that are not there yet (except the stuff in security policy)
2007-04-23T22:37:40  <ThomasWaldmann> neagulm: grzywacz also needs some hooks, so maybe you can cooperate with him
2007-04-23T22:39:09  <ThomasWaldmann> lanius: imagine unix filesystems mounted at different mountpoints
2007-04-23T22:39:45  <ThomasWaldmann> (you don't need to implement this, just keep it in mind so that such stuff is possible)
2007-04-23T22:39:48  <neagulm> ThomasWaldmann, I thinking to take a different approach from the one Skip proposed in his patch. The SecurityPolicy should be used only to enforce a policy and not to do the classification.
2007-04-23T22:40:11  <lanius> ThomasWaldmann: i don't understand yet
2007-04-23T22:40:17  <lanius> ThomasWaldmann: but let's try skype
2007-04-23T22:42:26  <neagulm> ThomasWaldmann, maybe for spam/ham detection it would be sufficient using SecurityPolicy but for providing general text classification features we need to go more deeper in MoinMoin: Eg. Page() and PageEditor()
2007-04-23T22:45:52  <dreimark> bb
2007-04-23T22:51:07  <xorAxAx> lanius: ping
2007-04-23T22:51:12  <lanius> xorAxAx: i'm here
2007-04-23T22:51:31  <xorAxAx> cool
2007-04-23T22:51:37  <xorAxAx> i am just editing your zargo file
2007-04-23T22:51:53  <xorAxAx> and i realised that argouml doesnt implement undo
2007-04-23T22:51:53  <lanius> even cooler
2007-04-23T22:51:58  <lanius> ^^
2007-04-23T22:52:05  <xorAxAx> how bad! they are using gef and didnt implement undo
2007-04-23T22:52:07  <xorAxAx> thats soo bad
2007-04-23T22:52:25  <xorAxAx> and i cant have this scenario:
2007-04-23T22:52:35  <lanius> but that's only the eclipse implementation, the standalone app doesn't support it either
2007-04-23T22:52:53  <xorAxAx> interface A, class B. B realises A, B uses A
2007-04-23T22:53:03  <xorAxAx> lanius: i am using it standalone
2007-04-23T22:53:13  <xorAxAx> and the standalone app is using gef as well, no?
2007-04-23T22:53:13  <lanius> and the standalone version also uses gef?
2007-04-23T22:53:20  <lanius> i didn't think so, but not sure
2007-04-23T22:55:25  <grzywacz> <ThomasWaldmann> but there is epydoc output and some short description what happens for a typical request
2007-04-23T22:55:38  <grzywacz> Could someone point me to this?
2007-04-23T22:55:56  <lanius> xorAxAx: standalone is using gef as well, too bad
2007-04-23T22:56:19  <xorAxAx> lanius: i am doing a gef project for university currently
2007-04-23T22:56:37  <lanius> xorAxAx: but it is not eclipse gef
2007-04-23T22:56:45  <lanius> as far as i see
2007-04-23T22:56:52  <xorAxAx> well, it is IBM GEF
2007-04-23T22:57:09  <xorAxAx> three letter acronym --> IBM
2007-04-23T22:57:24  <xorAxAx> so, should this work, lanius?
2007-04-23T22:57:25  <xorAxAx> "interface A, class B. B realises A, B uses A
2007-04-23T22:57:42  <xorAxAx> (which sounds like a decorator pattern to me)
2007-04-23T22:58:32  <lanius> xorAxAx: it should work, not sure about decorator though
2007-04-23T22:59:45  <xorAxAx> ah, you cant use interfaces?
2007-04-23T23:00:10  * xorAxAx introduces an abstract class, you dirty uml meta modell
2007-04-23T23:00:23  <lanius> seems like decorator
2007-04-23T23:09:56  <xorAxAx> lanius: what is newoperation?
2007-04-23T23:11:17  <lanius> getKey is missing
2007-04-23T23:11:43  <dreimark> ThomasWaldmann:wikiutil.parse_format seems missing text_html_text_moin_wiki
2007-04-23T23:12:47  <xorAxAx> lanius: ok, i added some important hints as camelcases attribute names /operation names
2007-04-23T23:12:51  <xorAxAx> *uploading
2007-04-23T23:15:07  <xorAxAx> lanius: ok, have a look
2007-04-23T23:15:53  <xorAxAx> lanius: exposing delegating methods is a pretty bad idea in python
2007-04-23T23:16:10  <xorAxAx> rather have an attribute that returns objects that implement a specific protocol
2007-04-23T23:16:22  <xorAxAx> i.e. most item methods can be removed
2007-04-23T23:16:32  <xorAxAx> because a list in python implements those already
2007-04-23T23:16:52  <xorAxAx> also have a look at metadata - it can be changed to be a dict
2007-04-23T23:17:03  <xorAxAx> and then you need to add some operations that handle persistence
2007-04-23T23:17:11  <xorAxAx> you dont want to save for every operation :)
2007-04-23T23:17:30  <lanius> yeah that's right
2007-04-23T23:17:48  <lanius> the path from ItemSupport to StorageBackend is wrong, it should go to DispatchingBackend, shouldn't it
2007-04-23T23:18:22  <xorAxAx> no
2007-04-23T23:18:29  <xorAxAx> the user is free to choose
2007-04-23T23:18:42  <xorAxAx> nobody forces him to use a dispatcher, he could use the db backend directly
2007-04-23T23:18:56  <xorAxAx> because both implement the same interface
2007-04-23T23:19:12  <xorAxAx> but in the real world, you would use the dispatcher, ye
2007-04-23T23:19:13  <xorAxAx> s
2007-04-23T23:19:21  <xorAxAx> esp. to support underlay semantics
2007-04-23T23:19:33  <xorAxAx> do you know underlay? nobody really knows how it should work
2007-04-23T23:19:51  <lanius> right and sometimes it's too much choice, so i would force to use the dispatcher
2007-04-23T23:19:54  <lanius> yes i know
2007-04-23T23:19:55  <xorAxAx> its currently used to supply the system pages, some use it to pre-seed farm instances
2007-04-23T23:20:19  <xorAxAx> well, i dont see the point to force anyone - because it shouldnt change anything because of the clean interface :)
2007-04-23T23:20:25  <lanius> you're sure we need a StorageBackendAbstract?
2007-04-23T23:20:45  <xorAxAx> no idea, i introduced it because argouml had the above described bug
2007-04-23T23:20:53  <lanius> i see
2007-04-23T23:21:06  <xorAxAx> (the default will be the dispatcher, that will handle the problems of most users)
2007-04-23T23:21:49  <lanius> and you can even use the dispatcher with just one backend, so we don't need to describe two different configuration ways, one with dispatcher and one without
2007-04-23T23:22:12  <xorAxAx> well, yes
2007-04-23T23:22:39  <xorAxAx> also note that the file-like class should be an interface :)
2007-04-23T23:22:48  <xorAxAx> and you will have to define some operations there
2007-04-23T23:22:56  <xorAxAx> because a file has too many operations ...
2007-04-23T23:23:36  <xorAxAx> hmm
2007-04-23T23:23:50  <xorAxAx> and you need a name for the item
2007-04-23T23:25:43  <lanius> not sure about the file like interface yet, you've seen http://moinmoin.wikiwikiweb.de/StorageRefactoring/TwInput?
2007-04-23T23:27:10  <xorAxAx> no
2007-04-23T23:27:13  <xorAxAx> *read*
2007-04-23T23:27:29  <xorAxAx> thats the 1.4 model?
2007-04-23T23:28:00  <lanius> no, that's his current ideas
2007-04-23T23:28:52  <xorAxAx> well, ProtectedItem.may clearly doesnt make any sense :)
2007-04-23T23:29:03  <xorAxAx> at least with that signature
2007-04-23T23:29:07  <xorAxAx> some user is missing
2007-04-23T23:29:32  <lanius> it's in the __init__
2007-04-23T23:29:34  <xorAxAx> but indeed, the idea where the ACL aspects should be weaven in is interesting
2007-04-23T23:29:48  <xorAxAx> lanius: hmm, thats bad IMHO
2007-04-23T23:29:54  <xorAxAx> the items should be unrelated from the user
2007-04-23T23:30:19  <xorAxAx> also i dont see any differentiation between textitem and binaryitem
2007-04-23T23:30:35  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 2024:b73858101d66 1.7/MoinMoin/wikiutil.py: wikiutil.parse_format: text_html_text_moin_wiki added for mapping
2007-04-23T23:30:40  <CIA-28> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 2019:006fe3f373f4 /MoinMoin/wikiutil.py: wikiutil.parse_format: text_html_text_moin_wiki added for mapping
2007-04-23T23:30:46  <xorAxAx> in that code that could be used to reason against my idea of a file-like interface
2007-04-23T23:31:19  <lanius> but we need some type of item hierachy
2007-04-23T23:32:55  <xorAxAx> well :)
2007-04-23T23:33:09  <xorAxAx> every revision may have a different mime type
2007-04-23T23:33:22  <xorAxAx> and the mimetype determines the behaviour of that revision
2007-04-23T23:33:23  <lanius> every revision?
2007-04-23T23:33:26  <lanius> every item
2007-04-23T23:33:40  <xorAxAx> no, i think thomas wanted to be able to change the mimetype for every revision
2007-04-23T23:33:43  <xorAxAx> ThomasWaldmann: ping :)
2007-04-23T23:33:53  <xorAxAx> lanius: also it makes sense to do so ...
2007-04-23T23:34:07  <lanius> since the mimetype is metadata it will be so
2007-04-23T23:34:11  <xorAxAx> otherwise you wont be able to convert documents without losing history in the old format
2007-04-23T23:34:23  <xorAxAx> lanius: if it is metadata, you can change the mime type for every revision
2007-04-23T23:34:33  <lanius> that's what i meant
2007-04-23T23:34:53  <xorAxAx> see, so the mimetype is an attribute of the rev and not of the item
2007-04-23T23:34:58  <lanius> yes
2007-04-23T23:35:05  <lanius> but who decides how the mime/types are handled
2007-04-23T23:35:07  <xorAxAx> now, a user sees the current revision of an item which has a name
2007-04-23T23:35:16  <xorAxAx> (thats a central idea of wikis)
2007-04-23T23:35:38  <xorAxAx> and the type of the revision determines the behaviour and view of the item
2007-04-23T23:36:08  <xorAxAx> i.e. it proxies to different controllers for editing etc.
2007-04-23T23:36:32  <xorAxAx> note that this is not a hierachy of items but of revisions
2007-04-23T23:36:58  <xorAxAx> also note that the behaviour could be referenced by an attribute, its a pretty parallel idea of the issue
2007-04-23T23:37:04  <xorAxAx> model == file-like
2007-04-23T23:37:18  <xorAxAx> behaviour/view == the classes thomas let inherit from each other
2007-04-23T23:37:52  <xorAxAx> i think my point is that mixing the aspect of storage and the controller/presentation part of the issue will make it break
2007-04-23T23:38:19  <xorAxAx> MVC etc. :-)
2007-04-23T23:38:23  <lanius> yes, but we have to think how to plugin the controller/presentation part
2007-04-23T23:38:34  <xorAxAx> i.e. there can be a ItemBehaviourInterface that implements view() edit() etc.
2007-04-23T23:38:45  <xorAxAx> and those decide how to view an image
2007-04-23T23:38:50  <xorAxAx> or a sound file or a wiki page
2007-04-23T23:39:13  <xorAxAx> lanius: indeed, and the file-like part or the idea how the metadata object looks like are unrelated
2007-04-23T23:39:27  <xorAxAx> the current zargo file doesnt reflect that yet
2007-04-23T23:39:49  <lanius> yes, i've thought about such an interface too, but  how will it be connected to the Item
2007-04-23T23:40:07  <xorAxAx> well, an item has a name and revisions
2007-04-23T23:41:20  <xorAxAx> behaviour_factory.get_controller(item) will get item.current_rev.metadata, resolve the mimetype and instantiate a class
2007-04-23T23:41:50  <xorAxAx> this class will have an interface called like itembehaviour, subclasses textbehaviour and binarybehaviour
2007-04-23T23:42:06  <xorAxAx> or subinterfaces
2007-04-23T23:42:43  <xorAxAx> i also realise that thomas idea of namespaces is more powerful than a delegating backend
2007-04-23T23:42:55  <xorAxAx> if you are talking about layered namespaces
2007-04-23T23:43:06  <lanius> that can be implemented by a delegating backend
2007-04-23T23:43:07  <xorAxAx> which are currently implemented, ill-definedly
2007-04-23T23:43:20  <xorAxAx> lanius: what?
2007-04-23T23:43:32  <lanius> the layered and compositeNamespaces
2007-04-23T23:43:54  <xorAxAx> well, you would be able to provide the current UI, yes
2007-04-23T23:43:56  <xorAxAx> which sucks
2007-04-23T23:44:01  <xorAxAx> see here:
2007-04-23T23:44:06  <xorAxAx> there is a system page
2007-04-23T23:44:08  <xorAxAx> you edit it
2007-04-23T23:44:18  <xorAxAx> now the revcount is one and the old revision is gone
2007-04-23T23:44:24  <xorAxAx> i.e. you cant even revert spa
2007-04-23T23:44:24  <xorAxAx> m
2007-04-23T23:44:33  <xorAxAx> and why? the data namespace overrides the underlay one
2007-04-23T23:45:04  <xorAxAx> the notion of a namespace is completly gone, the user doesnt have any possiblity to control the namespaces or even understand them
2007-04-23T23:45:22  <xorAxAx> hmm, to revert, you need to delete!
2007-04-23T23:45:36  <xorAxAx> which means that you will need to know that there is a shadowed revision
2007-04-23T23:46:02  <lanius> yes, and that is something the delegating backend can find out
2007-04-23T23:46:07  <xorAxAx> and this delete will show up as a delete with a weird diff, i think i confused thomas a few times already by cleaning modified underlay pages on moinmoin:
2007-04-23T23:46:11  <xorAxAx> lanius: "find out"?
2007-04-23T23:46:29  <xorAxAx> a delegating backend would be transparent to its callers, they wouldnt know where the rev comes from
2007-04-23T23:46:44  <lanius> yes the caller wouldn't know, but the delegating backend
2007-04-23T23:47:03  <xorAxAx> see, so how would you be able to increase the user experience in this case?
2007-04-23T23:47:07  <xorAxAx> i think its not possible
2007-04-23T23:47:22  <xorAxAx> (although you would be able to map most parts of this ill-defined behaviour :-))
2007-04-23T23:47:42  <xorAxAx> and i think that thomas realised this by having a class called namespace
2007-04-23T23:47:53  <lanius> sorry, i don't see the problem, the delegating backend would know to which backend the page belongs to and write it to this backend again
2007-04-23T23:48:04  <xorAxAx> yes, thats the model view of the issue
2007-04-23T23:48:12  <xorAxAx> lets go to the VC view :)
2007-04-23T23:48:23  <lanius> the VC view doesn't care where it is
2007-04-23T23:48:29  <xorAxAx> the user does IMHO
2007-04-23T23:48:33  <xorAxAx> its pretty confusing :)
2007-04-23T23:48:42  <ThomasWaldmann> dreimark: the mimetypes need more strict defining, esp. the ones invented by us
2007-04-23T23:48:43  <xorAxAx> not intuitive at all
2007-04-23T23:48:47  <lanius> to the user it all looks like one backend
2007-04-23T23:48:55  <xorAxAx> yes, and thats the fault IMHO
2007-04-23T23:49:05  <lanius> no, that's how it must be
2007-04-23T23:49:11  <lanius> hide complexity
2007-04-23T23:49:19  <xorAxAx> hmm
2007-04-23T23:49:26  <xorAxAx> i think its hidden in the wrong way :)
2007-04-23T23:49:28  <ThomasWaldmann> ok, lets continue here :)
2007-04-23T23:49:32  <xorAxAx> still waiting for thomas to catch up
2007-04-23T23:49:34  <xorAxAx> ThomasWaldmann: did you read it?
2007-04-23T23:49:50  <ThomasWaldmann> i was privmsging lanius all the time
2007-04-23T23:49:59  <xorAxAx> OMG
2007-04-23T23:50:08  <xorAxAx> oh well
2007-04-23T23:50:10  <lanius> ^^ i told you where the party is going on :D
2007-04-23T23:50:38  <ThomasWaldmann> yes, mimetype is metadata and metadata might change in every rev
2007-04-23T23:50:59  <ThomasWaldmann> the renderer will just look at the mimetype of the rev it is rendering
2007-04-23T23:51:19  <ThomasWaldmann> of course you won't do diffs between binary and text mimetypes X)
2007-04-23T23:51:37  <lanius> thats clear, just the connection between renderer and item not
2007-04-23T23:52:07  <xorAxAx> well
2007-04-23T23:52:17  <lanius> we could use the same pattern as in the backend
2007-04-23T23:52:19  <ThomasWaldmann> do i have to read all or can it be condensed to one phrase?
2007-04-23T23:52:30  <xorAxAx> ThomasWaldmann: i think it cant be
2007-04-23T23:52:48  <lanius> we have a Renderer interface which is implemented by the Item which delegates to the correct renderer
2007-04-23T23:53:25  <xorAxAx> lets dont call it renderer but controller
2007-04-23T23:53:35  <xorAxAx> it has to do more than rendering
2007-04-23T23:53:49  <xorAxAx> it will organise the rendering, though
2007-04-23T23:53:52  <lanius> implemented by the item or by the revision
2007-04-23T23:54:02  <xorAxAx> no, its not implemented by the item
2007-04-23T23:54:13  <xorAxAx> if we agree that MVC makes sense here
2007-04-23T23:54:50  <xorAxAx> but there would be a factory function that looks up the current mimetype of the current rev and instantiates a specific controller class, giving it knowledge about the current item
2007-04-23T23:55:08  <xorAxAx> and now the question is - how would the interface of the controller class look like
2007-04-23T23:55:09  <lanius> so the user requests an item at the ItemSupport, he gets an Item, what must he do to render it
2007-04-23T23:55:20  <ThomasWaldmann> xorAxAx: the sense of still having "may" although we do most stuff exception based is that you maybe dont want to read an item to just find out if you may read it
2007-04-23T23:55:36  <ThomasWaldmann> esp. if reading it is expensive
2007-04-23T23:55:41  <xorAxAx> ThomasWaldmann: i agree that may is very important, but it shouldnt be at that point :)
2007-04-23T23:55:53  <ThomasWaldmann> ok, that's another point :)
2007-04-23T23:55:54  <xorAxAx> i.e. we need to attach it somewhere else in the forest of classes :)
2007-04-23T23:56:15  <xorAxAx> lanius: ok, lets assume that he has an item
2007-04-23T23:56:25  <xorAxAx> an item is very innocent, its full of data and no brain
2007-04-23T23:56:55  <xorAxAx> so the dev calls foo(my_item) which returns an instance of a class which implements ItemBehaviour
2007-04-23T23:57:12  <xorAxAx> ItemBehaviour has sub-interfaces BinaryItemBehaviour and TextItemBehaviour
2007-04-23T23:57:19  <ThomasWaldmann> the difference between textitem and binaryitem happens on upper levels: a textitem ui class offers stuff like editing
2007-04-23T23:57:30  <ThomasWaldmann> a binaryitem offers up/download
2007-04-23T23:57:32  <xorAxAx> ItemBehaviour has the operations view() edit(), edit_metadata(), view_metadata()
2007-04-23T23:57:58  <xorAxAx> and the edit method of a binary item would show the upload form or something like that
2007-04-23T23:58:24  <ThomasWaldmann> no
2007-04-23T23:58:25  <xorAxAx> and edit of a textitem would show the edit form :)
2007-04-23T23:58:37  <xorAxAx> well, something uniform here
2007-04-23T23:58:39  <ThomasWaldmann> because we want to have both edit and load for text items
2007-04-23T23:58:49  <ThomasWaldmann> by inheritance
2007-04-23T23:59:07  <xorAxAx> well, lets dont say "by inheritance" but "without copy and paste or redundance" :)
2007-04-23T23:59:36  <ThomasWaldmann> why not inheritance?
2007-04-23T23:59:57  <xorAxAx> because we are still designing and talking about a requirement is better than talking about a solution :)

MoinMoin: MoinMoinChat/Logs/moin-dev/2007-04-23 (last edited 2007-10-29 19:09:02 by localhost)