2008-06-16T04:10:46  <aigarius> quick question - on 1.5.9 is it normal that Known user with write permissions (in acl_rights_default), but no admin rights can create a page with an ACL?
2008-06-16T07:27:12  <dreimark> moin
2008-06-16T08:22:21  <ThomasWaldmann> moin
2008-06-16T08:45:56  <dreimark> hint anonymous_session_lifetime change should be added to CHANGES
2008-06-16T08:46:00  <dreimark> johill is off
2008-06-16T09:03:50  <dreimark> reading "The notification system" can mislead in that you need for notification jabber installed
2008-06-16T09:07:12  <dreimark> please reread my changes http://master17.moinmo.in/HelpOnNotification
2008-06-16T09:14:47  <dreimark> bbl
2008-06-16T09:39:57  <xorAxAx> ThomasWaldmann: http://xkcd.com/437/
2008-06-16T09:44:59  <dreimark> johill: are there any other pages describing the notification changes than http://master17.moinmo.in/HelpOnNotification
2008-06-16T10:35:13  <johill> dreimark: no idea, mostly karol's stuff except for some of the userprefs
2008-06-16T10:35:19  <johill> dennda: pong
2008-06-16T10:35:30  * TheSheep stops himself from starting a "you know when you had too much xkcd when..." series of jokes
2008-06-16T12:03:05  <ThomasWaldmann> xorAxAx: /me is confused ;)
2008-06-16T12:17:48  <zenhase> moin
2008-06-16T12:25:28  <dennda> good morning
2008-06-16T12:30:06  <dennda> johill: I was thinking how to establish a relationship between Items and their Revisions. The only relational information currently provided is, that you pass an item when creating an Revision.
2008-06-16T12:30:34  <dennda> I am not sure a list of revisions on the item is such a great idea
2008-06-16T12:31:09  <dennda> Maybe a dict of the form {revno : <Revision>}
2008-06-16T12:31:09  <johill> but we had list_revisions on the item, no?
2008-06-16T12:31:30  <johill> and get_revision
2008-06-16T12:31:51  <dennda> yes
2008-06-16T12:32:06  <johill> do you need more or do you want to change that?
2008-06-16T12:32:18  <dennda> I'll take a list then and try if that is sufficient for the memory thing
2008-06-16T12:32:52  <johill> oh, well, the mem backend probably needs to establish the relationship outside the API
2008-06-16T12:33:01  <johill> in the internal item "storage"
2008-06-16T12:33:36  <johill> it could even just use a dict {itemname: (metadata, (rev1, rev2,...))} or something
2008-06-16T12:34:32  <dennda> in my memory backend I got self._items = {}
2008-06-16T12:34:44  <johill> yeah ok
2008-06-16T12:34:56  <dennda> {itemname : <Itemobject>}
2008-06-16T12:34:59  <dennda> was my idea
2008-06-16T12:35:02  <johill> that works
2008-06-16T12:35:07  <johill> actually, no
2008-06-16T12:35:18  <johill> items may be modified when creating new revisions
2008-06-16T12:35:21  <johill> internally
2008-06-16T12:35:31  <johill> so you really have to give each caller of get_item a new item instance
2008-06-16T12:35:56  <dennda> Umm
2008-06-16T12:36:24  <dennda> The only case where that strikes us is when we got multiple Backend instances, correct?
2008-06-16T12:36:45  <johill> no, when you try to create multiple revisions concurrently on a single backend
2008-06-16T12:36:57  <johill> for example
2008-06-16T12:37:08  <johill> or think about the _locked flag thing
2008-06-16T12:38:38  <dennda> to prevent that you'd need some common place for all items and revisions and each time one of those is accessed you must check if there is anything new that has changed
2008-06-16T12:39:31  <johill> no, you just need to decouple the in-memory storage from the Item/Revision class
2008-06-16T12:40:19  <johill> and instantiate such classes every time they're needed
2008-06-16T12:40:34  <johill> actually, since Revision instances are immutable, those don't matter
2008-06-16T12:44:48  <dreimark> gizmach: what exactly is the problem "what kind of Group and D..."
2008-06-16T12:53:04  <dennda> johill: so you mean store data somewhere, without the concept of item-objects, and when it is needed, create an Item that is filled with the corresponding data?
2008-06-16T12:55:55  <johill> basically, I think that's what you have to do to support the Item instance semantics properly, yes
2008-06-16T12:57:24  <johill> if you think about how item instances behave you should realise that they essentially belong to whoever asked for them
2008-06-16T12:57:33  <dennda> Ok that's what I was thinking. I have to improve my descriptions
2008-06-16T12:58:43  <johill> I'll go have lunch now and do some shopping, and probably won't be online any more today, have to learn more about sobolev spaces and stuff like that
2008-06-16T12:58:54  <johill> if you have any pressing questions you can call me though
2008-06-16T12:59:29  <dennda> ok
2008-06-16T12:59:48  <johill> later
2008-06-16T13:00:08  <dennda> bye :)
2008-06-16T15:04:28  <dennda> johill: peng
2008-06-16T15:04:48  <johill> sort of around, half asleep, what's up?
2008-06-16T15:04:53  <dennda> hehe
2008-06-16T15:05:28  <dennda> well, we have list_revisions and get_revision, the latter taking an item and a revno, but still, how does an item know the concrete revisions?
2008-06-16T15:07:37  <johill> not sure I understand
2008-06-16T15:11:08  <dennda> ok
2008-06-16T15:11:11  <dennda> we have get_revision
2008-06-16T15:11:28  <dennda> which takes an item and a revno and returns an item object
2008-06-16T15:11:39  <dennda> now assume you were to implement it
2008-06-16T15:11:47  <johill> returns a revision object, but yeah
2008-06-16T15:11:59  <dennda> how would you do that? the item object doesn't know of its revisions
2008-06-16T15:12:00  <dennda> yes, sorry
2008-06-16T15:24:00  <dennda> seems he fell asleep :)
2008-06-16T15:24:32  <johill> sorry discussing regulatory stuff and yeah, pretty close to falling asleep so I forgot about you
2008-06-16T15:24:45  <johill> well
2008-06-16T15:24:47  <dennda> get some rest mate
2008-06-16T15:24:54  <johill> the backend would take a look at item._id or whatever it uses
2008-06-16T15:24:55  <ext> no, get more coffee
2008-06-16T15:24:58  <johill> and then look up the revision
2008-06-16T15:26:28  <dennda> I really feel we need a mapping between revnos and actual revision objects
2008-06-16T15:26:35  <dennda> I don't get your idea
2008-06-16T15:27:07  <gizmach> re
2008-06-16T15:27:36  <johill> got some half-finished code? then I can probably hack it in in a minute
2008-06-16T15:27:42  <johill> easier than explaining anyway ;)
2008-06-16T15:27:55  <gizmach> dreimark: I put it in the wrong paragraph , it's not a problem it's just the place where will I put "how to make"
2008-06-16T15:28:42  <dennda> No, I'd rather think first and implement it then
2008-06-16T15:29:04  <dennda> I can push the current memorybackend status, however
2008-06-16T15:29:46  <johill> where's the difference between get_revision(item, revno) and a mapping/dict type?
2008-06-16T15:30:09  <johill> I don't see why the item has to know about its revisions when the backend is called via _get_item_revision anyway
2008-06-16T15:30:53  <dennda> johill: At some point we need to have a relation Item <-> Revision
2008-06-16T15:31:00  <dennda> We don't have any at the moment
2008-06-16T15:31:06  <dennda> Only a few ints
2008-06-16T15:31:15  <johill> what sort of relation do we need?
2008-06-16T15:31:19  <johill> it's pretty implied, no?
2008-06-16T15:31:26  <johill> I mean, you have item = backend.get_item(...)
2008-06-16T15:31:32  <johill> rev = item.get_revision(7)
2008-06-16T15:31:37  <dennda> exactly
2008-06-16T15:31:38  <dennda> bang
2008-06-16T15:31:44  <dennda> how is that supposed to work?
2008-06-16T15:31:52  <johill> ok
2008-06-16T15:31:56  <johill> take sql backend for example
2008-06-16T15:31:59  <dennda> you need to know to which item a revision belongs
2008-06-16T15:32:06  <johill> sql.get_item() looks like this:
2008-06-16T15:32:07  <dennda> you'd use a foreignkey there
2008-06-16T15:32:14  <johill>   item = Item(...)
2008-06-16T15:32:27  <johill>   item._id = "select id from items where name = ?", name
2008-06-16T15:32:34  <johill>   return item
2008-06-16T15:32:35  <johill> then
2008-06-16T15:32:41  <johill> in _get_item_revision()
2008-06-16T15:32:43  <johill> you just say
2008-06-16T15:33:03  <johill> s/.*//
2008-06-16T15:33:12  <johill> you just look at the passed in item._id and look for the revision based on that
2008-06-16T15:35:09  <dennda> where's the relation?
2008-06-16T15:35:59  <johill> what's a relation you're asking for?
2008-06-16T15:36:16  <dennda> you got many items and many revisions. you pick an item and want to get its revisions. that just doesn't work without any relational information. a revision must know the item it belongs to or the other way around
2008-06-16T15:37:23  <johill> well yeah, in the database of course you store, for each revision, the item Id it belongs to
2008-06-16T15:37:50  <dennda> which is a bit stupid I suppose
2008-06-16T15:38:07  <dennda> I'd rather store that information in the item
2008-06-16T15:38:25  <dennda> you'd have to iterate over all revisions and check if the ids match
2008-06-16T15:38:27  <dennda> quite expensive
2008-06-16T15:38:32  <johill> huh?
2008-06-16T15:38:42  <johill> I think you're confusing storage and API/implementation
2008-06-16T15:39:03  <johill> in _sql_, you simply assign an ID to each item, and an "item_ID" to each revision
2008-06-16T15:39:07  <johill> and then you can look up based on that
2008-06-16T15:39:19  <johill> in the current fs backend, you have no such luxury, so you have to do things by name
2008-06-16T15:41:11  <dennda> Sure, but we need some abstracted solution if we want people to only touch the backend class
2008-06-16T15:41:34  <dennda> at the moment, no information at all is given on what revision belongs to which item
2008-06-16T15:42:15  <johill> I don't see why you need an abstract solution
2008-06-16T15:42:28  <johill> people can stick a field into item (like my item._id example) any time they like
2008-06-16T15:43:24  <dennda> Ok I'll just do what I think solves it best and you can review that then
2008-06-16T15:44:45  <johill> ok
2008-06-16T15:45:00  <johill> I tend to think that there is no abstract solution
2008-06-16T15:45:21  <johill> heck, a git backend might want to use the object's sha1sum (the git object database id) to link the things
2008-06-16T15:46:04  <johill> and the memory backend should use some other trick, it could even just put a list of revisions into item._membackend_revisions
2008-06-16T15:47:58  <dreimark> gizmach: ok
2008-06-16T15:48:02  <dennda> good
2008-06-16T15:49:20  <gizmach> dreimark: will write how I think all wikidicts pacage should look like and what to be in any part and send it so you could see if it is ok
2008-06-16T15:56:28  <johill> otoh, no, it can't put it into item. because item needs to be able to be instantiated more than once for each name and still have  the same revisions, so it has to look it up based on some other ID too
2008-06-16T16:13:12  <dennda> I'll just do it stupidly without concurrency in mind and change that later
2008-06-16T16:13:35  <dennda> doing it right upfront is somewhat confusing me
2008-06-16T16:14:03  <johill> then you may want to take a minute to think about it, you'll run into that more :)
2008-06-16T16:16:40  <dennda> These concurrency related things are new to me and confuse me a bit. That may be a good candidate for another phone call... :)
2008-06-16T16:16:52  <johill> :)
2008-06-16T16:16:53  <johill> right now?
2008-06-16T16:17:00  <johill> I'm out of my regulatory stuff, delegated all work ;)
2008-06-16T16:18:14  <dennda> umm
2008-06-16T16:18:30  <johill> no whatever, it's ok, if you want to implement this first or whatever
2008-06-16T16:19:42  <dreimark> gizmach: can you rename that picture to it's propper mimetype extension
2008-06-16T16:19:52  <dennda> No if you got time right now we can do it now
2008-06-16T16:20:05  <dennda> I just need a bulldozer to drive over my back...
2008-06-16T16:20:06  <johill> yeah fine with me
2008-06-16T16:20:09  <dennda> ok
2008-06-16T16:20:10  <xorAxAx> johill: "regulatory stuff"? :)
2008-06-16T16:20:15  <dennda> lemme call you in a second
2008-06-16T16:20:16  <dreimark> gizmach: and with {{attachmen...}} it will be shown in the page
2008-06-16T16:20:27  <xorAxAx> johill: have you started working for the german authorities? :)
2008-06-16T16:20:31  <gizmach> dreimark: sure
2008-06-16T16:20:31  <johill> xorAxAx: you know the Frequenznutzungsplan and all that stuff? which frequencies you're allowed to use?
2008-06-16T16:20:49  <johill> xorAxAx: so we want to enable users to not break laws when using wireless in linux
2008-06-16T16:21:12  <xorAxAx> johill: yes, and you are working in the bnetza committees?
2008-06-16T16:21:37  <xorAxAx> or did you enhance the 802.11 stack for these freq tables?
2008-06-16T16:21:40  <xorAxAx> s/for/with/
2008-06-16T16:22:06  <johill> well we're enhancing the 802.11 stack to load whatever info we need from userspace
2008-06-16T16:22:08  <dreimark> xorAxAx: do you have still contact do karol ?
2008-06-16T16:22:21  <xorAxAx> dreimark: no
2008-06-16T16:22:25  <johill> and make a decision which regulatory domain (country) we're in based on devices, 802.11d etc
2008-06-16T16:22:28  <xorAxAx> dreimark: he hasnt been online in jabber lately either
2008-06-16T16:22:57  <xorAxAx> johill: so userspace could kid it? :)
2008-06-16T16:23:08  <gizmach> dreimark: did, it's pretty ugly and probably I'll change it from time to time
2008-06-16T16:23:21  <johill> xorAxAx: yeah, obviously
2008-06-16T16:23:36  <johill> xorAxAx: the tables are far too large and change too often for putting them into the kernel
2008-06-16T16:23:40  <johill> and besides, people can recompile the kernel too
2008-06-16T16:24:06  <xorAxAx> or even a single module
2008-06-16T16:24:10  <johill> yeah
2008-06-16T16:24:25  <johill> so mostly it's a matter of compiling the info and getting it to the driver/stack
2008-06-16T16:24:30  <xorAxAx> well, wouldnt have happened with tpm!!11one
2008-06-16T16:24:43  <johill> haha
2008-06-16T16:26:18  <dennda> johill: calling, ok?
2008-06-16T16:26:50  <dreimark> gizmach: mm_groups could be because of default also defined in __init__ similiar to MoinAuth
2008-06-16T16:26:50  <johill> yeah
2008-06-16T16:26:53  <johill> go ahead
2008-06-16T16:28:00  <gizmach> dreimark: yea it could be that way
2008-06-16T16:28:21  <dreimark> gizmach: try to find a better name than dict_dict.py
2008-06-16T16:28:29  <gizmach> :)
2008-06-16T16:28:59  <dreimark> johill: the auth modules have also some uncommon names
2008-06-16T16:29:23  <dreimark> smb_mount, mysql_group
2008-06-16T16:29:51  <zenhase> does anybody know, what _fmt_hd_counters is supposed to mean? :)
2008-06-16T16:30:01  <zenhase> or what it is for?
2008-06-16T16:30:36  <xorAxAx> zenhase: did you grep?
2008-06-16T16:31:33  <zenhase> ok, it seems to be for counting section numbering
2008-06-16T16:32:37  <gizmach> dreimark: any other comments or smtn?
2008-06-16T16:32:41  <dreimark> xorAxAx: you explained some days ago that you did have patched moin into trac
2008-06-16T16:32:51  <dreimark> gizmach: smtn?
2008-06-16T16:32:55  <zenhase> hmm, does this has to stay on request or can this be put on the formatter-instance?
2008-06-16T16:32:56  <gizmach> something
2008-06-16T16:32:59  <gizmach> pardon
2008-06-16T16:33:01  <dreimark> xorAxAx: was it 1.6
2008-06-16T16:33:13  <xorAxAx> dreimark: see the wiki:)
2008-06-16T16:33:27  <zenhase> i want to clean out request as much as possible :o
2008-06-16T16:33:37  <xorAxAx> zenhase: hmm
2008-06-16T16:33:52  <xorAxAx> zenhase: think about it what happens in cases of nesting etc.
2008-06-16T16:34:01  <zenhase> yeah
2008-06-16T16:34:02  <xorAxAx> and how semantics can be preserved cleanly
2008-06-16T16:34:47  <zenhase> does nested rendering (like include-macro i suppose?) create new formatters?
2008-06-16T16:35:05  <xorAxAx> see the code :)
2008-06-16T16:37:49  <dreimark> gizmach: I don't see currently why dict_dict from wikidicts should be separarted and not in __init__
2008-06-16T16:38:14  <zenhase> well, seems that way :o
2008-06-16T16:38:25  <zenhase> ok, i'll keep it on request right now
2008-06-16T16:38:53  <xorAxAx> zenhase: yeah, some iterative scheme makes sense, defer it until you revisit the first deferred attribute :)
2008-06-16T16:39:10  <xorAxAx> processwise
2008-06-16T16:39:14  <zenhase> ?
2008-06-16T16:39:24  <dreimark> gizmach: you need this config_group module too
2008-06-16T16:39:31  <zenhase> ah, your talking about iterative development :)
2008-06-16T16:39:40  <zenhase> not about iterative includes ;)
2008-06-16T16:39:56  <zenhase> s/your/you're
2008-06-16T16:40:01  <gizmach> dreimark: true, also I was thiking to put all beckend stuff in separate modules also the dict_dict
2008-06-16T16:40:05  <xorAxAx> zenhase: yep :)
2008-06-16T16:40:22  <xorAxAx> like solving an exam
2008-06-16T16:40:45  <ThomasWaldmann> gizmach: someone might kill you if you continue talking about beckends :P
2008-06-16T16:40:58  <gizmach> :)
2008-06-16T16:41:07  <gizmach> ThomasWaldmann: sorry
2008-06-16T16:41:13  <zenhase> xorAxAx: well, that's my current intention ... change what can be changed easily without leaving the trail of the request-object ... stuff in other modules should not affect me right now
2008-06-16T16:41:42  <zenhase> i hope waldis work will solve some of the stuff ;)
2008-06-16T16:42:06  <dreimark> gizmach: I thought already to add this word to BadContents
2008-06-16T16:42:46  <gizmach> ah...
2008-06-16T16:43:34  <dreimark> gizmach: if DictDict is meant by dict_dict then it is not only used for Groups
2008-06-16T16:44:03  <gizmach> yes I ment on DictDict
2008-06-16T16:49:19  <dreimark> that is used for MyDict also see comment about cfg.page_dict_regex
2008-06-16T16:49:46  <dreimark> e.g. http://moinmo.in/ReimarBauer/MyDict
2008-06-16T16:50:19  <dreimark> that'S why I can enter @IMG@ into a wiki page and it is expanded to my image
2008-06-16T16:50:38  <dreimark> s/why/because/
2008-06-16T16:52:38  <gizmach> ok I see
2008-06-16T16:54:05  <dreimark> bbl ~20min
2008-06-16T16:58:23  <dennda> johill: http://paste.pocoo.org/show/71477/
2008-06-16T16:58:32  <dennda> turns out my idea to have everything in a single dict was quite foolish
2008-06-16T16:59:10  <dennda> items[id][revno]["metadata-key"]... /me shivers
2008-06-16T16:59:47  <xorAxAx> hmm, are you rewriting it?!
2008-06-16T17:02:08  <dennda> rewriting wha?
2008-06-16T17:02:11  <dennda> what?
2008-06-16T17:03:16  <xorAxAx> the backend interface :)
2008-06-16T17:04:17  <dennda> xorAxAx: wrong context
2008-06-16T17:04:31  <dennda> xorAxAx: this is becoming a specific backend implementation
2008-06-16T17:04:36  <dennda> the godlike memory backend!
2008-06-16T17:06:05  <xorAxAx> ah
2008-06-16T17:06:18  <xorAxAx> the fastest backend on earth
2008-06-16T17:06:29  <dennda> yes
2008-06-16T17:06:34  <dennda> we can use that in benchmarks
2008-06-16T17:48:28  <dreimark> re
2008-06-16T18:19:11  <johill> dennda: {revision_data, revision_metadata}
2008-06-16T18:19:23  <johill> that should be () instead of {}
2008-06-16T19:21:34  <dreimark> bbl#
2008-06-16T20:33:03  <ThomasWaldmann> re
2008-06-16T22:12:19  <ThomasWaldmann> gizmach: xorAxAx: no commit since 8 days to student repo
2008-06-16T22:13:05  <gizmach> ThomasWaldmann: ok,... will change that soon :)
2008-06-16T22:22:11  <xorAxAx> ThomasWaldmann: i am monitoring the (non-) commits
2008-06-16T22:22:26  <xorAxAx> and got a mail a few days ago that he is doing exams (unexpectedly)
2008-06-16T22:22:47  <xorAxAx> and i told him that i plan to talk to him about the current project state when he is back
2008-06-16T22:25:39  <ThomasWaldmann> see also the friday meeting :)
2008-06-16T22:30:22  <ThomasWaldmann> http://www.checkpoint-elearning.de/article/5565.html (de)
2008-06-16T22:38:54  <dreimark> sehr schoen
2008-06-16T22:41:41  <xorAxAx> ThomasWaldmann: i am not available in that timeframe
2008-06-16T22:41:46  <xorAxAx> (important lecture)
2008-06-16T22:53:59  <ThomasWaldmann> is that all fridays that time?
2008-06-16T22:56:17  <xorAxAx> yes
2008-06-16T22:56:28  <xorAxAx> at least one month
2008-06-16T22:56:45  <ThomasWaldmann> then please find another time
2008-06-16T23:01:54  <xorAxAx> i suggest doodle :)
2008-06-16T23:02:19  <xorAxAx> should i setup a doodle?
2008-06-16T23:14:18  <ThomasWaldmann> do whatever you need to find a better time
2008-06-16T23:18:16  <dreimark> gn
2008-06-16T23:21:35  <xorAxAx> ThomasWaldmann: i dont need to find one, we do :)
2008-06-16T23:23:30  <xorAxAx> any hints on the acceptable time frames? i will consider that my student isnt on european time so we cant meet e.g. after 17:00 CEST if we want his time to be before 0 am local time
2008-06-16T23:24:04  <xorAxAx> i guess we shouldnt start earlier than 10:00 CEST and do not want to meet at the weekend
2008-06-16T23:24:23  <xorAxAx> so we have 35 slots that i will set up a doodle for
2008-06-16T23:28:35  <xorAxAx> http://www.doodle.ch/6yeqmzb4v823mqqz
2008-06-16T23:31:12  <xorAxAx> dennda, dreimark, gizmach, johill, mitsuhiko, PawelPacana, TheSheep, waldi, ThomasWaldmann, zenhase: please add your dates
2008-06-16T23:34:10  <xorAxAx> oops
2008-06-16T23:34:16  <xorAxAx> i didnt specify a timezone
2008-06-16T23:34:32  <xorAxAx> its CEST currently :)
2008-06-16T23:35:16  * xorAxAx clarified it in the text

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-06-16 (last edited 2008-06-16 02:15:02 by IrcLogImporter)