2009-06-24T00:01:44  *** amartani has joined #moin-dev
2009-06-24T00:27:57  *** amartani has quit IRC
2009-06-24T02:32:55  *** grzywacz has quit IRC
2009-06-24T02:57:52  *** amartani has joined #moin-dev
2009-06-24T03:23:43  *** amartani has quit IRC
2009-06-24T04:13:27  *** amartani has joined #moin-dev
2009-06-24T05:35:09  *** vpv has quit IRC
2009-06-24T05:35:39  *** vpv has joined #moin-dev
2009-06-24T05:36:13  *** dennda has quit IRC
2009-06-24T05:36:29  *** dennda has joined #moin-dev
2009-06-24T08:15:54  <dreimark> moin
2009-06-24T09:51:58  <ThomasWaldmann> moin
2009-06-24T10:23:18  *** ser has joined #moin-dev
2009-06-24T10:24:25  <ThomasWaldmann> dennda: /join #python.de
2009-06-24T10:24:51  <ThomasWaldmann> (08:57) <    helmut> grrrrrrmbl. sqlite3 ist auch concurrency-ungeeignet
2009-06-24T10:26:34  <ThomasWaldmann> dennda: tomorrow it will be 2 weeks without diary updates. do you permanently need me to push you to do that or do you think you could manage that on your own?
2009-06-24T10:27:52  <ThomasWaldmann> devilsadvocate: http://moinmo.in/Admin2009/Diary you have to update your diary daily
2009-06-24T10:29:06  <ThomasWaldmann> dimazest: you are doing it better :) if you had university exams/preparation, maybe note that in your diary, too
2009-06-24T10:30:18  <ThomasWaldmann> amartani: you also do it ok. even more verbose now. :)
2009-06-24T10:32:49  *** Guest85929 has quit IRC
2009-06-24T10:42:29  <ThomasWaldmann> uuuh, apache wiki farm is still 1.3.4
2009-06-24T11:28:27  <waldi> ThomasWaldmann: about the macros: i don't like to supply an Item instance. 1. I don't know how to get this information; includes are expanded, but this information is lost. 2. what additional information they would get via an Item; internal and interwiki links are supposed to live within the wiki-scheme. 3. I'm unsure which sort of freedom they should get at all via public interfaces. In the list of current macros, I see 3 types: macros which acts .
2009-06-24T11:28:34  <waldi> ... only on the input and maybe request information; macros which acts on the input and global data like the page list and macros which acts on the complete page. IMHO only the last category would take an advantage of the supplied Item, but then it will just stop working with included things
2009-06-24T11:29:36  <dreimark> macro is currently used also to call an action
2009-06-24T11:30:30  <dreimark> e.g. edit
2009-06-24T11:33:31  <waldi> where?
2009-06-24T11:42:05  <ThomasWaldmann> waldi: well, what I was thinking about was efficiency. Item creation (if you only have the name or not even that, but just some url) takes time and does I/O.
2009-06-24T11:42:26  <ThomasWaldmann> If we would have that Item "live" somewhere anyway, we could just provide a reference to it.
2009-06-24T11:43:44  <ThomasWaldmann> the current 1.8/1.9 code copes with these problems (badly) by using that page cache hack
2009-06-24T11:44:00  <ThomasWaldmann> before that was introduced, moin did much more I/O
2009-06-24T11:49:52  <waldi> ThomasWaldmann: do you know an example for this? aka a macro which needs the complete page input of any format but should not operate on the page with includes expanded?
2009-06-24T11:50:45  <waldi> except of the 2 we already identified and moved (FootNote and TableOfContents)
2009-06-24T12:33:03  <ThomasWaldmann> the page (item) objects gets created for many purposes, not only for accessing full content
2009-06-24T12:34:12  <ThomasWaldmann> other than that general comment, I would've to review the code.
2009-06-24T13:35:20  <dennda> ThomasWaldmann: Is #python.de still of interest?
2009-06-24T13:35:29  <dennda> There's no publicy accessible log.
2009-06-24T13:39:35  <dreimark> dennda: there was one telling
2009-06-24T13:39:36  <dreimark> helmut> grrrrrrmbl. sqlite3 ist auch concurrency-ungeeignet
2009-06-24T13:39:36  <dreimark> 08:59 < helmut> sqlite3 vergisst n??mlich alles bis auf den letzten commit
2009-06-24T13:39:52  <dreimark> but not any detail at our requests
2009-06-24T13:40:00  <dennda> aha?
2009-06-24T13:40:10  <dreimark> don't ask me
2009-06-24T13:40:22  <dreimark> he is still online
2009-06-24T13:40:44  <dennda> http://www.sqlite.org/lockingv3.html
2009-06-24T13:40:51  <dennda> I'd need to ask #sqlalchemy when it comes to it
2009-06-24T13:41:32  <dennda> I've not yet dived deep enough into the matter myself
2009-06-24T13:58:08  <dennda> ThomasWaldmann: My current point of view is: Go the Trashbin-way and handle rename by just passing a rename down to the storage layer, where Joe is allowed to rename if either he has a special rename attribute or may read source/write source (hence taking it for granted implicitly that he may rename. the operation is quite similar. only difference is deletion of the old name)
2009-06-24T13:59:49  <ThomasWaldmann> ? the old name goes away no matter whether you delete or rename
2009-06-24T14:00:31  <dennda> that's my point
2009-06-24T14:00:58  <dennda> if you rename A to B, it may seem that A never existed and was hence nuked
2009-06-24T14:00:58  <CIA-38> Chintalagiri Shashank <shashank.chintalagiri@gmail.com> default * 4752:5552314d59c2 1.9-adminui-cshashank/MoinMoin/script/install/ (defaults.py installer.py): Fixes to defaults.py, installer.py cleaned up
2009-06-24T14:01:00  <ThomasWaldmann> the operation is quite similar. only difference is deletion of  the old name
2009-06-24T14:01:17  <dennda> which you wouldn't expect a user to be capable of if he may only read/write
2009-06-24T14:03:17  <dennda> But that's a detail
2009-06-24T14:03:27  <ThomasWaldmann> so you think we want a "delete" capability for "rename to trashbin", a "rename" capability for generic rename and maybe also a "create" capability for creation of new items?
2009-06-24T14:03:27  <dennda> the question is: do we want a special rename privilege?
2009-06-24T14:04:36  <ThomasWaldmann> hmm, we first have to look at how rename and rename-trashbin is different
2009-06-24T14:05:15  <ThomasWaldmann> for trashbin, we want to create a random unique trashbin/* name as target
2009-06-24T14:05:29  <ThomasWaldmann> and we want to keep the old name to be able to undelete
2009-06-24T14:05:43  <dennda> what difference do you  see? other than exclusion of rename target from page listings...
2009-06-24T14:05:55  <dennda> we need a maintainence revision anyways
2009-06-24T14:06:06  <dennda> hm disregart that
2009-06-24T14:06:13  <dennda> hmmm
2009-06-24T14:06:14  <ThomasWaldmann> (and we also want to keep the old name for standard renames, too)
2009-06-24T14:06:34  <ThomasWaldmann> we do not have a good means for that yet, btw
2009-06-24T14:06:34  <dennda> we *could* store that in the items metadata (and the date of deletion, and who deleted it and the like)
2009-06-24T14:07:06  <dennda> I'm just thinking about whether that's sane (given that there may be many renames/deletions)
2009-06-24T14:07:32  <ThomasWaldmann> how about storing the name of the item into revision metadata, btw?
2009-06-24T14:08:58  <ThomasWaldmann> that would be an easy way to track rename history
2009-06-24T14:09:40  <dennda> yes, and for that you'd need such a special purpose revision
2009-06-24T14:09:55  <dennda> that may be easiest
2009-06-24T14:10:25  <ThomasWaldmann> currently (IIRC) I just copy all old metadata/data to a new rev and just have some rename comment
2009-06-24T14:10:57  <ThomasWaldmann> that's not very efficient for large revision data, but we can optimize that later
2009-06-24T14:12:22  <ThomasWaldmann> can you put that all onto the wikipage and try to get some more feedback for it? e.g. via a mailing list post?
2009-06-24T14:14:27  <ThomasWaldmann> i can also put a link onto frontpage if that stuff is in good shape
2009-06-24T14:15:28  <ThomasWaldmann> btw, one thing you could to right now is think about / implement the router / backend namespace stuff
2009-06-24T14:15:42  <dennda> ok
2009-06-24T14:15:43  <ThomasWaldmann> for the trashbin, we maybe want to have a separate backend
2009-06-24T14:15:43  <dennda> so
2009-06-24T14:16:03  <ThomasWaldmann> and all those backends (data, trash, user, ...) need to be addressed somehow
2009-06-24T14:16:24  <ThomasWaldmann> one idea was to do it fstab like and "mount" backends into namespace somehow
2009-06-24T14:16:52  <ThomasWaldmann> but for user backend, that is not quite appropriate, you do not want that backend mounted in page namespace
2009-06-24T14:17:17  <ThomasWaldmann> so we also need namespaces, like data: or user: or ...
2009-06-24T14:17:54  <dennda> in a nutshell, what do I put on the wikipage now? i've already made some additions
2009-06-24T14:20:40  <ThomasWaldmann> btw, "university stuff" is something you could likely write for every weekday as long as you are studying. but that's not a sufficient reason to do nothing at all for your SOC project.
2009-06-24T14:21:18  <dennda> How verbose do you want me to write that?
2009-06-24T14:22:04  <ThomasWaldmann> well, if you have exams or preparations, just tell. If you just have normal university courses, I guess you can find some time for moin on that day also.
2009-06-24T14:22:39  <ThomasWaldmann> see "regular work"
2009-06-24T14:23:37  <dennda> well those days off were due to exam and talk preparation
2009-06-24T14:23:49  <ThomasWaldmann> >> diary
2009-06-24T14:24:21  <dennda> ok, so s/University stuff./preparation for exam\/talk/ :-)
2009-06-24T14:24:49  <ThomasWaldmann> (or, to be more general: one-liners are usually not enough)
2009-06-24T14:26:49  <ThomasWaldmann> btw, your weekly planning only worked for the first 2 weeks. maybe you should try to continue that.
2009-06-24T14:28:25  <dennda> yes
2009-06-24T14:29:05  <ThomasWaldmann> btw, the trashbin-like thing is not part of your TODO, but you could provide the infrastructure I need to implement it
2009-06-24T14:29:50  <ThomasWaldmann> == more flexible backend configuration, router, namespaces
2009-06-24T14:30:09  <ThomasWaldmann> the xml serialization needs that, too, btw
2009-06-24T14:31:18  <ThomasWaldmann> you can serialize a complete backend now to xml, but some stuff is still missing. e.g. there could be <backend name="data">, but then, to be able to serialize the complete wiki,
2009-06-24T14:31:35  <ThomasWaldmann> i need some means to iterate over backends (and have their names)
2009-06-24T14:32:07  <ThomasWaldmann> just hardcoding data_backend for "data" and user_backend for "user" is a bit too simple, imho
2009-06-24T14:32:16  <dennda> some list of requirements for the routing backend would be nice
2009-06-24T14:32:33  <ThomasWaldmann> it has to work :D
2009-06-24T14:32:47  <dennda> That's a trivial requirement. :-)
2009-06-24T14:33:04  <ThomasWaldmann> and SOC doesn't disallow students to think, btw., so I suggest you start working on that list
2009-06-24T14:34:26  <dennda> Well, we want to be able to route between an arbitrary number of backends, depending on the namespace
2009-06-24T14:34:30  <dennda> how is the namespace seperated?
2009-06-24T14:34:40  <dennda> Parent/Child/Grandchild?
2009-06-24T14:35:06  <ThomasWaldmann> that's what we have currently
2009-06-24T14:35:23  <ThomasWaldmann> that's also the UNIX way to do it (see my fstab reference above)
2009-06-24T14:36:12  <ThomasWaldmann> but as I already mentioned, we maybe need something special for user or trashbin
2009-06-24T14:36:13  <dennda> yes
2009-06-24T14:36:37  <ThomasWaldmann> at least, we do not want to show everybody every user profile by navigating to /$user/ :)
2009-06-24T14:37:27  <ThomasWaldmann> otoh, maybe that would be a nice feature for the admin, if we just require user administration priviledge for browsing there
2009-06-24T14:38:35  <ThomasWaldmann> we could have some renderer for user profiles, maybe even an editor...
2009-06-24T14:39:02  <dimazest> ThomasWaldmann: i've updated my diary, should it be like this?
2009-06-24T14:41:13  <ThomasWaldmann> dimazest: well, read my comments above. one liners are not much for describing a day's work (or non-work as far as moin is concerned)
2009-06-24T14:41:58  <dennda> But "Preparation for exam" does suffice, yes?
2009-06-24T14:42:47  <ThomasWaldmann> well, if you did that the whole day and didn't find any time to work on SOC, you could at least tell the title of the exam / talk / whatever
2009-06-24T14:43:24  <dimazest> ThomasWaldmann: i put details on the page itself, should they be more verbose?
2009-06-24T14:43:46  <dennda> is it ok if I add that to my exam overview list or do you want me to edit every single entry that's affected again? :-)
2009-06-24T14:44:27  <ThomasWaldmann> it would be easier for review if there is a reference in the calendar daypage
2009-06-24T14:44:40  <dennda> ok...
2009-06-24T14:44:58  <ThomasWaldmann> (I don't expect you to tell the story of your life there, but investing 2 minutes is not expecting too much imho)
2009-06-24T14:46:33  <ThomasWaldmann> if someone reads just 2 words or a one-liner for most days, he might get the impression that $student isn't taking SOC serious enough
2009-06-24T14:47:05  <dennda> i know what you mean
2009-06-24T14:50:38  * dennda starts working on routing backend
2009-06-24T15:01:45  <dennda> ThomasWaldmann: Do we want to allow an item to be named 'Foo' if there is a namespace 'Foo/'?
2009-06-24T15:02:32  <ThomasWaldmann> dennda: that should be the root item in that namespace then
2009-06-24T15:04:01  <dennda> ThomasWaldmann: http://hg.moinmo.in/moin/2.0-storage/file/c48c43116fcf/MoinMoin/storage/backends/router.py
2009-06-24T15:04:17  <dennda> line 39: rstrip("/")
2009-06-24T15:04:31  <dennda> line 43: itemname.startswith(mountpoint)
2009-06-24T15:05:33  <dennda> if that's ok it would then look up the item ''
2009-06-24T15:08:50  <dennda> which is allowed as I just figured out
2009-06-24T15:08:51  <dennda> ok
2009-06-24T15:16:03  <ThomasWaldmann> (handling of the root item is a detail that we can figure out later - for the usual wiki item namespace, a redirect to page_front_page happens, but I use the '' item to get the "subpage list", which is a list of any page)
2009-06-24T15:31:20  <CIA-38> Dmitrijs Milajevs <dimazest@gmail.com> default * 4793:26f2648029df 1.9-groups-dmilajevs/MoinMoin/web/contexts.py: Groups2009: Backends do not have load_cache method. It was removed from the groups lazy initialization.
2009-06-24T15:31:23  <CIA-38> Dmitrijs Milajevs <dimazest@gmail.com> default * 4794:d761238f67f9 1.9-groups-dmilajevs/MoinMoin/ (Page.py action/serveopenid.py userprefs/oidserv.py): Groups2009: OpenID related code was refactored to use groups instead of dicts.
2009-06-24T15:32:30  <dimazest> ThomasWaldmann: if a backent can't find a group, should it return an empty list or throw an exception?
2009-06-24T15:32:57  <dennda> hm ok the nice idea I had about injecting the correct backend into any method is not that easy
2009-06-24T15:39:50  <ThomasWaldmann> dimazest: i think a KeyError exception is not that far fetched
2009-06-24T15:40:31  <ThomasWaldmann> dimazest: and I hope you still remember that a backend should usually NOT return a member list
2009-06-24T15:41:07  <dennda> ThomasWaldmann: Am I correctly assuming that you want to be able to travers pages, deleted pages AND users from /? (because then it'd have to be something like /pages/myrealpage, /user/myrealuser, /trash/mytrashpage)
2009-06-24T15:42:20  <dimazest> ThomasWaldmann, is it better to return an empty list?
2009-06-24T15:42:33  <ThomasWaldmann> either that or using some reserved names below the page root /
2009-06-24T15:42:44  <ThomasWaldmann> dimazest: no
2009-06-24T15:43:12  <ThomasWaldmann> dimazest: just look at what a dict does when you access a non-existing key ...
2009-06-24T15:43:39  <ThomasWaldmann> and a non-existing group is something different than a empty group
2009-06-24T15:43:55  <ThomasWaldmann> (same for wiki dicts, btw)
2009-06-24T15:44:28  <dennda> hmm
2009-06-24T15:44:53  <dimazest> ok
2009-06-24T15:45:55  <ThomasWaldmann> dimazest: hmm, maybe do NOT use KeyError as catching that might hide errors in the code
2009-06-24T15:45:56  <dennda> well we need to somehow distinguish between different backend types. so either we introduce backend.type or something like that or we do that implicitly by putting it in a corresponding namespace below /
2009-06-24T15:46:19  <ThomasWaldmann> just define your own GroupDoesNotExist exception
2009-06-24T15:47:06  <ThomasWaldmann> dennda: do we have different types of backends? or do you mean the name of the backend?
2009-06-24T15:47:49  <dennda> ThomasWaldmann: consider routingbackend.history. what would that do?
2009-06-24T15:48:20  <dennda> get any revision of any item of any backend?
2009-06-24T15:48:39  <dennda> that'd mean that you can't use history for recent changes anymore or whatever it was used for
2009-06-24T15:50:23  <ThomasWaldmann> of course you have to ask the right thing for history
2009-06-24T15:50:42  <ThomasWaldmann> if we have /pages and /users, you would have to ask the /pages backend
2009-06-24T15:50:50  <dennda> yes
2009-06-24T15:51:29  <dennda> so the distinction is made by putting the backends into either /page, /user, or /trash
2009-06-24T15:51:33  <ThomasWaldmann> but if there is some filesystem backend mounted below /pages/FS, that's maybe a problem, yes
2009-06-24T15:52:02  <ThomasWaldmann> I am still not quite decided about this. needs more input/thinking.
2009-06-24T15:52:07  <dennda> hmmm why? (i was not thinking about IO)
2009-06-24T15:57:33  <amartani> moin
2009-06-24T16:07:16  <ThomasWaldmann> dennda: maybe we should have a) a "name" for each backend and some means to get the backend instance via that name and b) a fstab like thing to mount backend <name> to namespace <mountpoint>
2009-06-24T16:07:58  <ThomasWaldmann> see device names and mountpoints
2009-06-24T16:08:06  <dennda> I'm familiar with that concept
2009-06-24T16:16:39  <dennda> http://paste.pocoo.org/show/124885/
2009-06-24T16:25:26  <ThomasWaldmann> s/Pages/Items/
2009-06-24T16:26:12  <ThomasWaldmann> s/pages/content/
2009-06-24T16:27:59  <ThomasWaldmann> hmm, be careful with the names. if wiki content is really /content/ItemName then, quite some current code will have to be changed, because it just deals with ItemName
2009-06-24T16:28:38  <ThomasWaldmann> also, URL is /ItemName, not /content/ItemName, and that should stay like that
2009-06-24T16:34:16  <dennda> sure
2009-06-24T16:34:37  <dennda> I guess we could just use some trick to make all those content accesses start at /content/
2009-06-24T17:09:53  <ThomasWaldmann> or we use / for the content and peek some holes into the namespace by using one or multiple reserved names like /$USERS$ or /$SPECIAL$
2009-06-24T17:18:23  <xorAxAx> devilsadvocate: when do you plan to detail the timeline?
2009-06-24T17:20:03  <devilsadvocate> xorAxAx: i'm getting some coding done at the moment. the class structure should be ready soon (few days) (for the bulk of the project). writing a timeline after that seems to make more sense instead of spending time coming up with random numbers now
2009-06-24T17:21:13  <xorAxAx> numbers are not important, detailled steps are
2009-06-24T17:21:41  <devilsadvocate> xorAxAx: the class structure is the steps, more of less
2009-06-24T17:21:42  <devilsadvocate> or*
2009-06-24T17:23:21  <devilsadvocate> xorAxAx: on the class structures note - i'm planning to add the admin ui's config editing class to multiconfig. does that seem to make sense?
2009-06-24T17:23:33  <dennda> ThomasWaldmann: What about something like http://paste.pocoo.org/show/124899/
2009-06-24T17:24:03  <dennda> http://paste.pocoo.org/show/124901/
2009-06-24T17:28:03  <xorAxAx> devilsadvocate: no, multiconfig doesnt contain UI code
2009-06-24T17:29:24  <devilsadvocate> xorAxAx: not the UI code. the part of the code that handles configuration
2009-06-24T17:29:53  <xorAxAx> well, sure. you need to modify multiconfig to change the inheritance concept
2009-06-24T17:29:55  <devilsadvocate> xorAxAx: http://moinmo.in/Admin2009/ClassStructure
2009-06-24T17:30:11  <devilsadvocate> (the (very) basic admin structure is there)
2009-06-24T17:31:50  <devilsadvocate> (bbiab.. will see log if you have any comments.. havent eaten all day, last chance for real food :P)
2009-06-24T17:36:29  <xorAxAx> i will have a look
2009-06-24T18:03:42  <CIA-38> Dmitrijs Milajevs <dimazest@gmail.com> default * 4795:7d8f51be2285 1.9-groups-dmilajevs/MoinMoin/groups/ (7 files in 3 dirs): Groups2009: GroupDoesNotExistError is raised instead of KeyError when a group name is not found in the backend.
2009-06-24T18:04:38  <dimazest> ThomasWaldmann: i would like to implement sqlalchemy backend now, so i could test how are groups with many members are handled
2009-06-24T18:05:30  <dimazest> or should i do dicts?
2009-06-24T18:25:47  <amartani> waldi: I am working on storing the list of editors of an item on save. As I understand from Item's code, the editors are identified by (userid, address, hostname), so I would need to store a list of these. How should I do this?
2009-06-24T18:29:47  <waldi> no idea how to do that properly
2009-06-24T18:31:14  <amartani> waldi: pickle it?
2009-06-24T18:33:14  <waldi> no
2009-06-24T18:33:32  <waldi> pickle is code and not human readable
2009-06-24T18:36:21  *** dimazest has quit IRC
2009-06-24T18:41:40  <amartani> waldi: some other encoding? json? I don't see how to avoid something like this..
2009-06-24T18:47:48  <waldi> amartani: hmm, i would use a format similar for the smtp To/Cc header, username@hostname[ip] oder so. i just don't know if the rules defined there would be enough to support our username format
2009-06-24T18:51:12  <ThomasWaldmann> dreimark: when dimazest returns: of course we first need groups and dicts refactoring being finished before any completely new code gets written
2009-06-24T18:51:57  *** dimazest_ has joined #moin-dev
2009-06-24T18:52:09  <ThomasWaldmann> dimazest_: of course we first need groups and dicts refactoring being finished before any completely new code gets written
2009-06-24T18:57:54  <dimazest_> ThomasWaldmann: i'll start page about dicts
2009-06-24T18:58:05  <dimazest_> to get some ideas
2009-06-24T18:58:14  <ThomasWaldmann> i.e. wikidicts code shall be gone, new dicts/groups finished, all clients of the code working (either tested or at least reviewed and hopefully working)
2009-06-24T18:58:44  <ThomasWaldmann> dimazest_: i didn't look in the last few days, are we finished with groups?
2009-06-24T19:00:00  * ThomasWaldmann has a quick look, but needs to go soon
2009-06-24T19:00:31  <ThomasWaldmann> dimazest_: no need for "pass" in a empty class if you give a docstring
2009-06-24T19:05:06  <ThomasWaldmann> dimazest_: config_groups.py:38 is likely wrong exception handling
2009-06-24T19:07:00  <ThomasWaldmann> (Group itself should raise the correct exception [GroupDoesNotExistError])
2009-06-24T19:12:27  <amartani> waldi: usernames would be the internal userids, with numbers and dots, right? I think it shouldn't be a problem.
2009-06-24T19:14:18  <ThomasWaldmann> dimazest_: also, please review the code whether group backends can be written that are expensive for _retrieve_members() - e.g. a big LDAP directory that contains a group of 10.000 users
2009-06-24T19:14:32  <dimazest_> ThomasWaldmann: http://paste.pocoo.org/show/ZRCFbjNJJXWJzu54YzOL/
2009-06-24T19:14:56  <ThomasWaldmann> (you do not want to ask ldap for all 10.000 members just to find out whether user x is member of that group)
2009-06-24T19:15:56  <dimazest_> ThomasWaldmann: i think for the big LDAP directory backend should differently handle _retrieve_members()  this is the reason, i want to implement sql backend
2009-06-24T19:16:01  <waldi> amartani: ah, sure
2009-06-24T19:16:23  <ThomasWaldmann> dimazest_: why did you kill retrieve_members in that diff?
2009-06-24T19:16:38  <ThomasWaldmann> ehrm, ignore
2009-06-24T19:16:47  * ThomasWaldmann reads the other green stuff
2009-06-24T19:17:20  <dimazest_> ThomasWaldmann: for sql and ldap, group should not store members, it should send queries (since i do not know how ldap works, it easier to me think about database)
2009-06-24T19:17:20  <ThomasWaldmann> 38..42 in that diff should use try/except
2009-06-24T19:17:44  *** dimazest has joined #moin-dev
2009-06-24T19:17:59  <dimazest_>         try:
2009-06-24T19:17:59  <dimazest_>             return self._groups[group_name]
2009-06-24T19:17:59  <dimazest_>         except KeyError:
2009-06-24T19:17:59  <dimazest_>             raise GroupDoesNotExistError(group_name)
2009-06-24T19:18:12  <ThomasWaldmann> yes, that's the right place
2009-06-24T19:18:19  <dimazest_> it seems i got an internet connection at home
2009-06-24T19:19:09  <ThomasWaldmann> (in that case, it doesn't make a big difference, but it is important not to catch too many exceptions, only the ones you really mean)
2009-06-24T19:21:09  <dimazest> exceptions are a little bit tricky for me
2009-06-24T19:21:42  <ThomasWaldmann> just catch what you really want (and what you can handle/fix)
2009-06-24T19:21:54  <ThomasWaldmann> do that catching rather tight
2009-06-24T19:22:50  <ThomasWaldmann> if you have a bigger piece of code inside a try/except KeyError, you likely catch other KeyErrors than the ones you really wanted, too
2009-06-24T19:32:06  <ThomasWaldmann> i guess for stuff like ldap (or similar for big user tables in a database) we have to do that stuff differently
2009-06-24T19:32:59  <ThomasWaldmann> (it must not create a internal set with all members / all member groups)
2009-06-24T19:34:07  <ThomasWaldmann> but that needs quite some more thought
2009-06-24T19:34:33  <ThomasWaldmann> i guess just proceeding to dicts and implementing them in almost the same way as groups is easier now
2009-06-24T19:35:19  <dimazest> ok, i concentrate on dicts, and after them switch on group backends
2009-06-24T19:35:54  <ThomasWaldmann> btw, i guess you also need to fix some client code of groups because of that new exception
2009-06-24T19:36:28  <ThomasWaldmann> just put some non-existing group into some acl and see what happens X)
2009-06-24T19:36:50  <ThomasWaldmann> gtg/bbl
2009-06-24T19:45:47  *** dimazest_ has quit IRC
2009-06-24T20:00:33  *** grzywacz has joined #moin-dev
2009-06-24T20:03:36  <dimazest> ThomasWaldmann: http://paste.pocoo.org/show/KKwh33N4y1Q4E9h3MVHw/ have you ment smth like this?
2009-06-24T20:16:52  *** franklin_ has joined #moin-dev
2009-06-24T20:34:17  *** franklin has quit IRC
2009-06-24T20:54:06  <ThomasWaldmann> dimazest: ok
2009-06-24T20:57:39  *** amartani has quit IRC
2009-06-24T22:41:40  <xorAxAx> gnarfi°: das geht doch alles terristrisch heutzutagehttp://code.google.com/p/google-highly-open-participation-moinmoin/issues/detail?id=115
2009-06-24T22:41:43  <xorAxAx> oops
2009-06-24T22:41:45  <xorAxAx> lol, http://code.google.com/p/google-highly-open-participation-moinmoin/issues/detail?id=115
2009-06-24T23:02:24  <ThomasWaldmann> re
2009-06-24T23:03:48  <ThomasWaldmann> heh
2009-06-24T23:08:31  <xorAxAx> ThomasWaldmann: did you look at the hacl edit on moinmaster?
2009-06-24T23:22:02  <ThomasWaldmann> gna
2009-06-24T23:35:54  <ThomasWaldmann> xorAxAx: i am not so sure whether this should be documented as a "behaviour change"
2009-06-24T23:36:14  <xorAxAx> well, either the behaviour changes or not.
2009-06-24T23:36:19  <ThomasWaldmann> IMHO the pre-1.8.4 behaviour was broken
2009-06-24T23:36:29  <ThomasWaldmann> so it is rather a security fix
2009-06-24T23:36:29  <xorAxAx> did it match the documentation?
2009-06-24T23:41:56  <dreimark> ThomasWaldmann: dimazest I have requested on sunday to finish group code refactoring
2009-06-24T23:42:26  <xorAxAx> ThomasWaldmann:
2009-06-24T23:43:48  <ThomasWaldmann> xorAxAx: yes, it looks like it matched the docs
2009-06-24T23:44:02  <xorAxAx> and why was that a security issue?
2009-06-24T23:44:25  <xorAxAx> and why didnt you document the new behaviour?
2009-06-24T23:44:44  <ThomasWaldmann> well, we found it by some more unit tests in 2.0. they first failed and showed unexpected (for me) behaviour.
2009-06-24T23:45:33  <ThomasWaldmann> obviously my understanding of how they should work was different from the docs
2009-06-24T23:46:08  <ThomasWaldmann> e.g. if you have a page AlexanderSchremmer/Secret and put #acl AlexanderSchremmer:read,write on it
2009-06-24T23:46:39  <ThomasWaldmann> if page AlexanderSchremmer has #acl All:read,write, what do you think it should do?
2009-06-24T23:47:24  <xorAxAx> indeed, you couldnt narrow access
2009-06-24T23:47:34  <xorAxAx> hmm
2009-06-24T23:47:39  <xorAxAx> you could with All:
2009-06-24T23:47:56  <xorAxAx> so in your case, it should give everybody read/write perms
2009-06-24T23:48:05  <xorAxAx> probably your example is flawed? :)
2009-06-24T23:48:27  <ThomasWaldmann> if you do not have hier acls, you usually get what you see
2009-06-24T23:48:47  <ThomasWaldmann> so every right not explicitely given is not there
2009-06-24T23:48:56  <ThomasWaldmann> (except stuff in config)
2009-06-24T23:49:14  <xorAxAx> yes
2009-06-24T23:49:52  <ThomasWaldmann> so when i found that strange hieracl behaviour, I really thought it was a severe bug, due to that missing break.
2009-06-24T23:51:09  <xorAxAx> break?
2009-06-24T23:51:19  <ThomasWaldmann> see the fix changeset
2009-06-24T23:51:51  <xorAxAx> please think about it again, did you cut off use cases (think in terms like widening or narrowing) and document that if necessary
2009-06-24T23:51:56  <xorAxAx> i hope that it is equivalent
2009-06-24T23:52:06  <xorAxAx> i am too tired to think about it, good night :)
2009-06-24T23:52:19  <dreimark> night xorAxAx
2009-06-24T23:57:49  <ThomasWaldmann> gn xorAxAx
2009-06-24T23:59:55  <dreimark> dimazest: search for page_group_regexact too

MoinMoin: MoinMoinChat/Logs/moin-dev/2009-06-24 (last edited 2009-06-23 22:15:02 by IrcLogImporter)