2009-06-07T03:15:04  *** grzywacz has quit IRC
2009-06-07T06:55:28  *** amartani has quit IRC
2009-06-07T07:57:42  <dimazest> ThomasWaldmann: i've pushed this changes
2009-06-07T08:00:07  <dimazest> but the after realized the dicts/groups stuff, that wikidicts are needed, and some code, uses request.dicts to get access to the dicts, so i decided that it will be easier for me to go back to the 0a0387a9eb1e
2009-06-07T08:00:47  <dimazest> and apply changes excep wikidicts/request.dicts
2009-06-07T08:05:55  <dimazest> in the repository revisions from 4739 to 4763 (they are green in the graph) are merged with a new code, but no changes are applied from that branch
2009-06-07T10:00:51  <xorAxAx> ThomasWaldmann: i was sleeping when youwere asking :)
2009-06-07T10:03:01  <devilsadvocate> xorAxAx: morning :)
2009-06-07T10:03:24  <xorAxAx> devilsadvocate: good morning, long time no see
2009-06-07T10:03:40  <xorAxAx> devilsadvocate: there are 2-3 questions that i wrote to you here
2009-06-07T10:03:43  <devilsadvocate> xorAxAx: yeah. sorry about that. some ... things came up :\
2009-06-07T10:04:57  * devilsadvocate scrolls up to find them
2009-06-07T10:07:17  <xorAxAx> 2 weeks of doing nothing, you will need to catch up quickly
2009-06-07T10:09:06  <devilsadvocate> xorAxAx: yes. i'm working on it as we speak. i hope i'll be able to catch up in a few days (so that the completed part is more)
2009-06-07T11:31:01  <ThomasWaldmann> moin
2009-06-07T11:41:38  <xorAxAx> devilsadvocate: if you have any questions, just ask
2009-06-07T11:42:10  <devilsadvocate> xorAxAx: i will
2009-06-07T11:42:46  <devilsadvocate> xorAxAx: is it ok if i commit less than complete stuff to my adminui repo?
2009-06-07T11:43:05  <devilsadvocate> like the passing the tests thing and all that is just for main moin repo right?
2009-06-07T11:43:22  * devilsadvocate is still a little afraid of making commits to public repos
2009-06-07T11:43:39  <xorAxAx> devilsadvocate: your changesets will stay for eternity and should make up atomic units. of course you can commit test files that contain failing tests
2009-06-07T11:43:59  <xorAxAx> some projects have a no failing tests policy but on your branch its not that important
2009-06-07T11:44:04  *** grzywacz has joined #moin-dev
2009-06-07T11:44:10  <ThomasWaldmann> you should run the tests to avoid at least trivial-to-avoid test failures, like formatting problems
2009-06-07T11:44:59  <xorAxAx> yes
2009-06-07T11:45:40  <xorAxAx> devilsadvocate: but its always nice if you add skips to your tests that you plan to fix
2009-06-07T11:45:57  <devilsadvocate> ok
2009-06-07T12:48:20  <dimazest> there seems no tests for security.autoadmin
2009-06-07T12:48:30  <dimazest> how cen i test it?
2009-06-07T12:48:37  <dimazest> ls
2009-06-07T12:54:26  * dimazest reading HelpOnAutoAdmin
2009-06-07T13:05:09  *** adg` has quit IRC
2009-06-07T14:24:05  <ThomasWaldmann> dimazest: autoadmin that is not active by default, but feel welcome to add tests
2009-06-07T14:26:30  <dimazest> ThomasWaldmann: i've tried to setup autoadmin, but wihtout any success
2009-06-07T14:26:41  <dimazest> it's alittle bit tricky for me
2009-06-07T14:40:12  <ThomasWaldmann> well, I guess as long as your group code works right, there should be no problem with autoadmin
2009-06-07T14:41:21  <ThomasWaldmann> to *.de -> waehlen nicht vergessen!
2009-06-07T14:45:50  <ThomasWaldmann> to *.eu -> don't forget to vote (if you did not already)
2009-06-07T15:12:35  *** devilsadvocate_ has joined #moin-dev
2009-06-07T15:12:35  *** devilsadvocate has quit IRC
2009-06-07T15:27:20  <ThomasWaldmann> dennda: acl error handling is a bit too simple currently
2009-06-07T15:27:57  <ThomasWaldmann> (the UI part, e.g. if you modify some acl and save, you get a extremely simple 403 page)
2009-06-07T15:28:18  <ThomasWaldmann> (and it does not tell what exactly is the problem)
2009-06-07T15:34:39  <ThomasWaldmann> dennda: I suggest you do some practical tests with fs backend, the acl stuff seems rather broken.
2009-06-07T15:38:10  <ThomasWaldmann> hehe, put acl: All: on a page linked from navi_bar and log out...
2009-06-07T15:42:30  <ThomasWaldmann> "delete" permission is not checked
2009-06-07T15:42:51  <ThomasWaldmann> with "write" permission, I can delete a page
2009-06-07T15:44:53  <ThomasWaldmann> (I am not saying that this is wrong, but it is inconsistent: if we offer a "delete" privilege, it should work. if we want "write" to be enough to delete, the "delete" privilege has to go. or we do the trashbin stuff. I am still waiting for more thoughts about this.)
2009-06-07T15:52:59  <ThomasWaldmann> xorAxAx: what's your POV on how delete should work on storage and ACL level?
2009-06-07T16:13:00  *** TheSheep has quit IRC
2009-06-07T16:13:00  *** ThomasWaldmann has quit IRC
2009-06-07T16:13:25  <CIA-19> Dmitrijs Milajevs <dimazest@gmail.com> default * 4769:cb95dae6cbe0 1.9-groups-dmilajevs/MoinMoin/groups/backends/_tests/test_wiki_group.py: Groups2009: Whitespace fix.
2009-06-07T16:13:27  <CIA-19> Dmitrijs Milajevs <dimazest@gmail.com> default * 4770:1b84b35fbe91 1.9-groups-dmilajevs/MoinMoin/groups/ (4 files in 2 dirs): Groups2009: Docstring refinements provided by ThomasWaldmann for the BackendManager, GroupManager and related tests.
2009-06-07T16:13:30  <CIA-19> Dmitrijs Milajevs <dimazest@gmail.com> default * 4771:7a826f946da3 1.9-groups-dmilajevs/ (11 files in 8 dirs):
2009-06-07T16:13:30  <CIA-19> Groups2009: wikidicts were refactored. request.dict provides access only to WikiDicts.
2009-06-07T16:13:30  <CIA-19> DictBase class was merged with Dict. Group class was removed. DictDict was merged with GroupDict removing methods related to the group functionality.
2009-06-07T16:13:32  <CIA-19> The cache key for dicts changed from 'dicts_groups' to 'dicts'.
2009-06-07T16:13:34  <CIA-19> wikidicts test was refined to capture new functionality.
2009-06-07T16:13:36  <CIA-19> Changes in the other code to use DictDict.__contains__ instead of has_dict and DictDict.__getitem__ in place of dict.
2009-06-07T16:22:45  *** TheSheep has joined #moin-dev
2009-06-07T16:22:45  *** ThomasWaldmann has joined #moin-dev
2009-06-07T16:31:13  <dreimark> re
2009-06-07T16:36:07  *** TheSheep has quit IRC
2009-06-07T16:36:07  *** ThomasWaldmann has quit IRC
2009-06-07T16:38:03  * dreimark hopefully myy internet trouble becomes fixed tom.
2009-06-07T16:39:46  *** TheSheep has joined #moin-dev
2009-06-07T16:39:46  *** ThomasWaldmann has joined #moin-dev
2009-06-07T17:44:55  <dreimark> dimazest: how are you?
2009-06-07T18:27:12  <dimazest> dreimark: i'm fine
2009-06-07T18:27:21  <dimazest> have you seen recent commits?
2009-06-07T18:27:45  <dimazest> i finally separated groups and dicts code
2009-06-07T18:28:15  <dimazest> but i think some test are missing, e.g for autoadmin
2009-06-07T18:29:06  <ThomasWaldmann> dimazest: wikidicts has to die
2009-06-07T18:29:20  <ThomasWaldmann> maybe not immediately, but asap
2009-06-07T18:30:33  <dreimark> dimazest: yes, the wikidict has survived and it Dicts are funtcionally again
2009-06-07T18:32:29  <dreimark> at the end the rest of wikidicts should become a place below MoinMoin.dicts
2009-06-07T18:34:22  <dimazest> ThomasWaldmann: dreimark now wikidicts can be moved, should i move them to MoinMoin.dicts?
2009-06-07T18:34:43  <ThomasWaldmann> we have first to talk about some fundamental stuff
2009-06-07T18:35:08  <dreimark> we should have done at the interim period
2009-06-07T18:35:23  <dreimark> dimazest: do you have a bit of time?
2009-06-07T18:35:30  <ThomasWaldmann> your expand code (aside from the code duplication) has a problem
2009-06-07T18:36:07  <ThomasWaldmann> it completely recursively expands a group to all members (including all members of any contained group)
2009-06-07T18:37:02  <ThomasWaldmann> just imagine $bigcompany having 100.000 employees worldwide and keeps its group definitions in ldap
2009-06-07T18:37:36  <dreimark> dimazest: watching?
2009-06-07T18:38:03  <dimazest> dreimark: i'll eat and then i'm free
2009-06-07T18:38:11  <dreimark> ok
2009-06-07T18:38:15  <ThomasWaldmann> your expand code would likely suck in the complete group data from ldap if someone mentions a groupname that is defined in ldap group backend on a wiki group page
2009-06-07T18:38:36  <ThomasWaldmann> --> performance from hell
2009-06-07T18:39:09  <dimazest> so what should i do?
2009-06-07T18:39:43  <dimazest> then groups should be expanded on request, when __contains__ or __getitem__ is called
2009-06-07T18:40:31  <dimazest> i know, that current solution is not eficient, but it works, what gave my opportunity to check other code, like acl
2009-06-07T18:42:35  <ThomasWaldmann> ok, then we need to work on something that works and is as efficient and correct as it gets now
2009-06-07T18:54:26  <dreimark> dimazest: before continuing with partial related code please think and tell limitations of the current group code
2009-06-07T18:55:54  <ThomasWaldmann> i.e. we first get the group code right
2009-06-07T18:58:02  <dreimark> +about
2009-06-07T19:01:14  <dreimark> dimazest: the expanding of groups on request is a good idea. what other limitations are given currently?
2009-06-07T19:06:15  <dreimark> ThomasWaldmann: dennda on various places we have item_name / itemname. please keep only one.
2009-06-07T19:07:34  <ThomasWaldmann> yeah, good idea. and at some places, like inside Item, only name.
2009-06-07T19:08:37  <dreimark> is sending msg to the theme somewhere implemented already?
2009-06-07T19:09:21  <ThomasWaldmann> in 1.9?
2009-06-07T19:09:28  <dreimark> 2.0-storage
2009-06-07T19:09:41  <ThomasWaldmann> add_msg works
2009-06-07T19:10:00  <dreimark> ah ok
2009-06-07T19:11:51  <ThomasWaldmann> except when you switch to jinja2 theme rendering, there almost nothing works
2009-06-07T19:12:09  *** ernestas has joined #moin-dev
2009-06-07T19:12:35  <ThomasWaldmann> hey ernestas!
2009-06-07T19:12:44  <ernestas> hi there:)
2009-06-07T19:12:49  <dreimark> wb ernestas
2009-06-07T19:14:03  <ThomasWaldmann> ernestas: thanks for master updates
2009-06-07T19:15:59  <ernestas> that's not all. np. I had a few questions. I'll ask them later when I remember them again
2009-06-07T19:16:35  <ThomasWaldmann> how's life in vilnius?
2009-06-07T19:16:42  <ernestas> rainy here
2009-06-07T19:17:14  <ernestas> EP voting activity is at its lowet:)
2009-06-07T19:17:20  <ernestas> *lowest
2009-06-07T19:18:04  <ernestas> not much interesting stuff going on besides that
2009-06-07T19:18:25  <ernestas> I'm waiting for my high school final exam results
2009-06-07T19:18:54  <ThomasWaldmann> that's no problem as long as the ones who do vote vote for the right (that's not the opposite of left here) people
2009-06-07T19:19:35  <ernestas> who knows who's right and who's not
2009-06-07T19:19:41  <ernestas> we'll see anyway
2009-06-07T19:21:11  <ThomasWaldmann> you still plan to study outside of lithuania?
2009-06-07T19:21:47  <ernestas> is it ok to rename translated HelpContent and HelpIndex - PagalbaXXX to PagalbosXXX. The second one fits better, but I believe it could make some problems. Could it?
2009-06-07T19:22:15  <ernestas> all other pages are ok
2009-06-07T19:22:16  <ThomasWaldmann> ernestas: 1.8 or 1.9?
2009-06-07T19:22:19  <ernestas> 1.9
2009-06-07T19:22:55  <ernestas> it's not a big problem, it just fits better
2009-06-07T19:23:02  <ThomasWaldmann> you have to fix MoinI18n/lt (?) then (translate Helpcontents to new name) and also fix all links from other pages
2009-06-07T19:24:01  <dreimark> ernestas: http://master19.moinmo.in/FrontPage?action=CheckTranslation
2009-06-07T19:24:16  <ernestas> I know. I'm just asking if naming Help page to other beginning than Help (Pagalba) would make any problems? I know it wouldn't show up in regex Pagalba*. Is that ok?
2009-06-07T19:24:34  <ernestas> I know there are some other problems, I'll fix 'em.
2009-06-07T19:24:41  <ThomasWaldmann> the german ones are called Hilfe*
2009-06-07T19:25:11  <ThomasWaldmann> it's nice to have some common prefix or at least a similar prefix
2009-06-07T19:25:42  <ThomasWaldmann> so, if your grammar requires different prefix, go for it
2009-06-07T19:25:49  <ernestas> ok. let's ask differently: what consequeces would be if I changed two pages (..Index and ..Content) from Pagalba* to Pagalbos*
2009-06-07T19:25:49  <dimazest> dreimark: how to handle recursive groups
2009-06-07T19:25:56  <ernestas> just two pages
2009-06-07T19:27:19  <dimazest> if in a wiki pageAdminGroup is defined like EditorGroup, Admin1, Admin2
2009-06-07T19:27:31  <dimazest> and Editor group is defined in ldap
2009-06-07T19:27:52  <dimazest> should we get members from ldap?
2009-06-07T19:28:40  <dreimark> not immeaditly only at a needed request. otherwise the set will explode by e.g. 100K of users
2009-06-07T19:29:04  <dreimark> it should compare then if the user is in the ldap group
2009-06-07T19:29:18  <dimazest> dreimark: but should it be possible? or we should look up groups only in a backend scope?
2009-06-07T19:30:23  <ThomasWaldmann> (the set explosion is not the problem, but maybe the ldap server or its admin will also explode :)
2009-06-07T19:30:36  <ernestas> ThomasWaldmann: so changing these two pages wouldn't hurt, right? I'm doing it then. and to answer your question about my future plans: http://moinmo.in/ErnestasLiubarskij :) I'm not going to study at least two more years I think
2009-06-07T19:31:29  <ThomasWaldmann> ah, right, I've even read that (but forgotten).
2009-06-07T19:31:49  <ThomasWaldmann> no, change the pages
2009-06-07T19:31:59  <ernestas> ok, thanks
2009-06-07T19:32:13  <dreimark> dimazest: it is needed to check if a user is defined on the ldap server.
2009-06-07T19:33:08  <dimazest> ThomasWaldmann: btw, for sql backend __contains__ and __getitem__ should be translated to sql queries, so that the sql server does the work, not python
2009-06-07T19:33:23  <dimazest> probably, something similar should be possible for ldap
2009-06-07T19:33:24  <dreimark> we can do it in two steps. the expensive ones only at the time it is needed
2009-06-07T19:34:17  <ThomasWaldmann> dimazest: lets go trough it from the ground upwards...
2009-06-07T19:34:52  <ThomasWaldmann> Group: you have to kill the expands stuff as it is now
2009-06-07T19:35:45  <ThomasWaldmann> Group: needs .name ("AdminGroup"), .backend_type ("ldap"), .backend_name ("ldap_headquarter") attrs
2009-06-07T19:37:25  <ThomasWaldmann> Group: has to have 2 internal objects, e.g. members = set(...unicode names...) and member_groups = set(...unicode names...) internally
2009-06-07T19:37:49  <ernestas> SaveError has occured in PageEditor.deletePage. We need locking there.
2009-06-07T19:37:52  <ernestas> http://master19.moinmo.in/Svetain%C4%97sNavigacija
2009-06-07T19:38:02  <dreimark> ernestas: rename it to Delete*
2009-06-07T19:38:17  <ernestas> ok. a new protection system?
2009-06-07T19:38:26  <dreimark> (it is known a limitation of the setup for underlay on master wiki)
2009-06-07T19:38:28  <ThomasWaldmann> dimazest: any questions about Group: stuff yet?
2009-06-07T19:39:03  <dreimark> ernestas: we serve underlay on master
2009-06-07T19:39:05  <dimazest> ThomasWaldmann: now, group is set, so it doesnt has to have members
2009-06-07T19:39:32  <dimazest> but, if it is internal object it's fine
2009-06-07T19:39:34  <ThomasWaldmann> you'll need 2 sets internally: direct members and references to other groups
2009-06-07T19:40:11  <ThomasWaldmann> both just contain names (unicode)
2009-06-07T19:40:19  <dimazest> ThomasWaldmann: then if object is not un the members set, member_groups is checked?
2009-06-07T19:41:12  <ThomasWaldmann> Groups.__contains__ first checks members, the iterates over member_groups and delegates to their __contains__
2009-06-07T19:41:44  <ThomasWaldmann> (and the caching will only cache those names, no expanded stuff)
2009-06-07T19:41:59  <ThomasWaldmann> (you can easily add caching later btw)
2009-06-07T19:41:59  <dimazest> ok
2009-06-07T19:42:18  <ThomasWaldmann> Groups.__repr__ will give a sane representation to easy debugging
2009-06-07T19:42:22  <ThomasWaldmann> ease
2009-06-07T19:43:38  <ThomasWaldmann> Groups.__iter__ will first yield members' members, then iterate over member_groups and yield THEIR members
2009-06-07T19:44:22  <ThomasWaldmann> you kill wikidictsrescan and related stuff
2009-06-07T19:44:41  <ThomasWaldmann> the Group objects will handle ALL caching related stuff internally
2009-06-07T19:45:19  <dimazest> that i like, the more internal stuff the better
2009-06-07T19:45:27  <ThomasWaldmann> ... and life will be much easier :)
2009-06-07T19:46:18  <ThomasWaldmann> maybe you can just do that for config groups and later for wiki page based groups
2009-06-07T19:46:38  <dreimark> name = 'wiki' should be replaced by the right one, we have more than one markup
2009-06-07T19:46:55  <ernestas> http://master19.moinmo.in/HelpOnActions Some descriptions start with a capitalised first word of the sentence, others do not. This may be trivial but what should I use in my translation: capitalised first words or not, or have them mixed like it's now in the original page?
2009-06-07T19:51:57  <ThomasWaldmann> dimazest: for the creation of a Group object, there could be some from_page() class method that delegates parsing depending on the page format (moin wiki vs. creole vs ...)
2009-06-07T19:52:03  <dreimark> ernestas: the en ones should all start with a capitalised first word. All should be correct sentences
2009-06-07T19:52:27  <ernestas> I even tried to see a system in that mix. I thought if a description has only one sentence, then the first word is not capitalised and vice versa but I was wrong. Maybe I'm just digging to deep:) ok dreimark
2009-06-07T19:53:02  <dreimark> I thinks it is more lazy writing
2009-06-07T19:53:26  <dimazest> ThomasWaldmann: from_page() is specific for wiki  backend, ldap does not need this
2009-06-07T19:53:36  <xorAxAx> ThomasWaldmann: i think its most prominent role is in the disabling of the delete use case in the user interface
2009-06-07T19:53:49  <ThomasWaldmann> dimazest: sure, the ldap Group object would not have this
2009-06-07T19:54:08  <xorAxAx> ThomasWaldmann: if it is deemed not useful enough or crippled/reduced to checkbox as you did, it can be removed from the default set of permissions
2009-06-07T19:55:22  <ThomasWaldmann> xorAxAx: that is true for the "we store an empty revision" implementation (we have that now)
2009-06-07T19:55:41  <ThomasWaldmann> (and that deleted metadata flag)
2009-06-07T19:56:37  <ThomasWaldmann> for that impl. it is rather clear that it is the same as "write" permission
2009-06-07T19:56:49  <ThomasWaldmann> but it is not clear whether that impl. is the best
2009-06-07T19:57:29  <xorAxAx> i dont see how this is related to the implementation as an empty save is as useful as a page delete as you once said
2009-06-07T19:57:37  <xorAxAx> even though its handled similarly to the user
2009-06-07T19:57:50  <xorAxAx> s/handled similarly/shown differently/Z
2009-06-07T20:00:04  <ThomasWaldmann> i rather mean in contrast to the trashbin implementation (move item to $trashbin/<randomname>)
2009-06-07T20:00:31  <ThomasWaldmann> which is rather a rename than a write
2009-06-07T20:01:16  <ThomasWaldmann> (otoh, rename currently checks write(src) and write(dst))
2009-06-07T20:04:58  <dreimark> should I guess Template for any translation we have?
2009-06-07T20:10:34  <ThomasWaldmann> if the output is a new regex, you can try (do it on the wiki MoinDev/Translation or so)
2009-06-07T20:14:24  <dreimark> ok that's something for tom.
2009-06-07T20:44:31  <dreimark> htg
2009-06-07T20:44:34  <dreimark> bb tom.
2009-06-07T21:08:45  <ThomasWaldmann> dimazest: still there?
2009-06-07T21:27:33  <dimazest> ThomasWaldmann: yes
2009-06-07T21:29:15  <ThomasWaldmann> if the GroupManager does not need more positional args, it could use *backends
2009-06-07T21:30:27  <dimazest> good idea, have not tought about it
2009-06-07T21:30:42  <dimazest> i think *backents is all it needs
2009-06-07T21:31:15  <ThomasWaldmann> yes, with d
2009-06-07T21:31:43  * dennda was about to type "Now let's wait for thomas' comment on that" :D
2009-06-07T21:32:11  <dimazest> f*, shure with d
2009-06-07T21:32:52  <dennda> situationskomik
2009-06-07T21:32:54  <dennda> :-)
2009-06-07T21:33:04  <ThomasWaldmann> :)
2009-06-07T21:33:39  <ThomasWaldmann> dimazest: and __getitem__ could do try: return ... except KeyError: pass
2009-06-07T21:36:34  <ThomasWaldmann> dimazest: and I guess you can kill update_cache / load_cache there
2009-06-07T21:38:07  <ThomasWaldmann> and add a __repr__
2009-06-07T21:40:06  <ThomasWaldmann> and that BackendManager - its only purpose seems to be to do name translation
2009-06-07T21:40:22  <ThomasWaldmann> couldn't that just be done in the Backend itself?
2009-06-07T21:51:06  <dimazest> ThomasWaldmann: it can be done in a backend, and should be done
2009-06-07T21:53:33  <dimazest> then BackendManager is not needed
2009-06-07T21:54:01  <dimazest> ThomasWaldmann: should backends inherit from some BaseBackend?
2009-06-07T21:59:57  <ThomasWaldmann> if there is common functionality, a base class is a good idea
2009-06-07T22:03:32  <dimazest> ThomasWaldmann: i think to implement 2 - 3 backends, then when api is stable we will see do they have same functionality
2009-06-07T22:08:39  <ThomasWaldmann> yeah, good idea
2009-06-07T23:25:06  *** amartani has joined #moin-dev

MoinMoin: MoinMoinChat/Logs/moin-dev/2009-06-07 (last edited 2009-06-07 01:30:02 by IrcLogImporter)