2009-05-17T01:20:13  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5754:57c6efac26f4 2.0-storage/MoinMoin/items/__init__.py: item do=get: use ETag
2009-05-17T02:03:06  *** ronny has quit IRC
2009-05-17T03:46:30  *** amartani has joined #moin-dev
2009-05-17T07:08:52  *** amartani has left #moin-dev
2009-05-17T08:22:24  <dreimark> moin
2009-05-17T08:23:17  * dreimark thought that the repo  of 2.0-storage "moin storage and UI refactoring (highly unstable/broken)" is a case study only isn't it?
2009-05-17T11:43:39  <ThomasWaldmann> yes it is. but I am getting more confident, that we'll really use that code.
2009-05-17T11:44:58  <ThomasWaldmann> it would be good to have some more developers working on that code, though.
2009-05-17T11:45:21  <ThomasWaldmann> e.g. to transform the theme code to jinja2
2009-05-17T11:45:59  <ThomasWaldmann> or to fix stuff that is broken.
2009-05-17T11:46:49  <ThomasWaldmann> or some students showing a bit more activity in general :P
2009-05-17T12:16:02  <xorAxAx> indeed
2009-05-17T12:16:08  <xorAxAx> devilsadvocate_: how far are your exams?
2009-05-17T12:21:06  <dreimark> bbl
2009-05-17T12:43:40  <ThomasWaldmann> btw, yesterday i introduced item content hashes (sha1 currently) and use them also for etag generation for http caching, works nicely
2009-05-17T14:34:56  <xorAxAx> cool
2009-05-17T15:02:16  <ThomasWaldmann> foo {{foo|bar|&w=100,&t=2}} bar baz < starts working, foo being a image/jpeg item, shown rescaled to 100px and mirrored
2009-05-17T17:43:51  *** ronny has joined #moin-dev
2009-05-17T18:00:26  <dennda> ThomasWaldmann: there is read() and seek()
2009-05-17T18:00:33  <dennda> (no tell() though)
2009-05-17T18:06:15  <CIA-19> dennda default * 5697:d0a5ccd3fd7c 1.9-storage/MoinMoin/storage/__init__.py: Add missing type (bool) to list of allowed types for metadata values
2009-05-17T18:09:13  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5698:18d2bcb72cb7 1.9-storage/ (57 files in 17 dirs): (log message trimmed)
2009-05-17T18:09:13  <CIA-19> Getting rid of AttachFile (big refactoring, needs more work, see below)
2009-05-17T18:09:13  <CIA-19> Please read the TODO file (lots of stuff is broken) and help making this work.
2009-05-17T18:09:13  <CIA-19> Removed actions (new actions):
2009-05-17T18:09:13  <CIA-19> AttachFile (see below)
2009-05-17T18:09:14  <CIA-19> Load (modify)
2009-05-17T18:09:18  <CIA-19> edit (modify)
2009-05-17T18:09:20  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5699:eb17276ab3d6 1.9-storage/ (107 files in 31 dirs): merged moin/1.9-storage
2009-05-17T18:09:23  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5700:d582c2effb51 1.9-storage/MoinMoin/support/jinja2/ (21 files): adding jinja2 templating engine (current repo checkout, post-2.1.1)
2009-05-17T18:09:26  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5701:545a3674db63 1.9-storage/MoinMoin/ (items/__init__.py templates/show.html): show action: improve history display
2009-05-17T18:09:31  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5702:3cb7449a9607 1.9-storage/MoinMoin/templates/show.html: show action: diff radiobuttons, table heading, cosmetics
2009-05-17T18:09:34  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5703:732b6ecbe90b 1.9-storage/MoinMoin/ (4 files in 4 dirs): delete action
2009-05-17T18:09:35  <dennda> ThomasWaldmann: you doing stuff as well atm?
2009-05-17T18:09:39  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5704:a2b028be9c37 1.9-storage/MoinMoin/ (5 files in 4 dirs): revert action
2009-05-17T18:09:42  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5705:32b4e0a81d9c 1.9-storage/ (4 files in 2 dirs): remove (spellcheck) dictionaries
2009-05-17T18:09:45  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5706:7d617ee1abe6 1.9-storage/MoinMoin/templates/show.html: show action: handle deleted items
2009-05-17T18:09:48  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5707:1587553efc9a 1.9-storage/MoinMoin/ (4 files in 4 dirs): rename action
2009-05-17T18:09:55  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5708:cf479f57389f 1.9-storage/MoinMoin/ (4 files in 4 dirs): copy action
2009-05-17T18:09:55  <dennda> i'm a bit scared as to whether that is caused by my merge/push... hg outgoing didn't show that :-)
2009-05-17T18:09:58  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5709:44e26c3832fe 1.9-storage/MoinMoin/ (6 files in 2 dirs): reduce action templates, add done via action_query now
2009-05-17T18:10:05  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5710:6b41bcf8107a 1.9-storage/MoinMoin/ (7 files in 4 dirs): remove old copy/delete/rename/revert page implementations
2009-05-17T18:10:08  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5711:34ab2f1f782e 1.9-storage/MoinMoin/ (config/multiconfig.py theme/__init__.py action/info.py): removed info action (history is also rendered by show action)
2009-05-17T18:10:12  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5712:c8b9ef2a73c0 1.9-storage/MoinMoin/ (config/multiconfig.py theme/__init__.py): add Download to edit_bar (get action)
2009-05-17T18:10:19  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5713:411afa383a28 1.9-storage/MoinMoin/ (12 files in 6 dirs): removed stats/chart module (based on outdated gdchart)
2009-05-17T18:10:22  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5714:c8e7edba6a4b 1.9-storage/MoinMoin/macro/_tests/test_Hits.py: removed test for removed code
2009-05-17T18:10:25  <dennda> ARGH
2009-05-17T18:10:31  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5715:6631a89d38d1 1.9-storage/MoinMoin/items/__init__.py: items: improve save behaviour, add logger
2009-05-17T18:10:34  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5716:1ee7abd8f30c 1.9-storage/MoinMoin/ (action/modify.py items/__init__.py): item object: rename method
2009-05-17T18:10:37  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5717:8f9d5bee8601 1.9-storage/MoinMoin/ (items/__init__.py templates/modify_binary.html): modify action: make delete a special case of modify
2009-05-17T18:10:44  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5718:c59fe8d74c2a 1.9-storage/MoinMoin/ (4 files in 3 dirs): modify: better layout, fixed comment processing, remove delete/revert from actions menu
2009-05-17T18:10:44  <dennda> oh noes... pushed to wrong repo :/
2009-05-17T18:10:47  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5719:48d0b24a0f67 1.9-storage/MoinMoin/ (items/__init__.py templates/show_nonexistent.html): items: add support for some more mimetypes, minor fixes
2009-05-17T18:10:56  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5720:4fab7bcfb8a8 1.9-storage/MoinMoin/parser/ (5 files): remove parsers that were just compatibility wrappers around highlight parser, should be handled by migration script or fs17 backend
2009-05-17T18:11:00  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5721:e63c7bf674c5 1.9-storage/MoinMoin/items/__init__.py: items: better grouping for nonexistent item display
2009-05-17T18:11:05  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5722:4df3dee47b6e 1.9-storage/MoinMoin/items/__init__.py: text items: simplify and fix line endings conversion
2009-05-17T18:11:08  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5723:8f4257e41311 1.9-storage/MoinMoin/action/delete.py: removed delete action module, not used any more
2009-05-17T18:11:11  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5724:4a39a4353e9b 1.9-storage/MoinMoin/items/__init__.py: IRC log highlighting item
2009-05-17T18:11:16  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5725:727dc09636ae 1.9-storage/MoinMoin/ (5 files in 3 dirs): items: add (sub item) index code
2009-05-17T18:11:19  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5726:afa20d96ff44 1.9-storage/TODO: updated TODO
2009-05-17T18:11:22  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5727:dcb81b4c4f1e 1.9-storage/MoinMoin/ (items/__init__.py items/sendcache.py action/cache.py): refactored action/cache into items.sendcache.SendCache
2009-05-17T18:11:29  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5728:8233f1b2bcc1 1.9-storage/MoinMoin/ (items/__init__.py items/sendcache.py wikiutil.py): items: reduce code duplication in 304 handling
2009-05-17T18:11:32  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5729:41360186c7cb 1.9-storage/MoinMoin/items/ (__init__.py sendcache.py): improve 304 handling, prepare cached image transformations, fix sendcache
2009-05-17T18:11:37  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5730:4b5213cab022 1.9-storage/MoinMoin/items/__init__.py: image items: add resize and transpose support
2009-05-17T18:11:40  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5731:8e5ced66a6cc 1.9-storage/MoinMoin/ (6 files in 4 dirs): use ?do=<something> instead of ?action=<something>
2009-05-17T18:11:43  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5732:43c8f6ba0503 1.9-storage/MoinMoin/ (action/diff.py items/__init__.py templates/diff.html): simple diff display for text/* items
2009-05-17T18:11:48  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5733:ec16ba0b4e27 1.9-storage/MoinMoin/ (9 files in 6 dirs): ripped out RecentChanges macro, replaced by do=rc action
2009-05-17T18:11:51  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5734:37b413485ab6 1.9-storage/MoinMoin/items/__init__.py: fix item rename
2009-05-17T18:11:54  <CIA-19> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 5735:c228320abb88 1.9-storage/MoinMoin/ (action/rc.py templates/rc.html): add missing files for do=rc action
2009-05-17T18:11:59  <CIA-19> (22 lines omitted)
2009-05-17T18:12:24  * dennda flees
2009-05-17T18:15:33  <CIA-19> dennda default * 5755:6cc612b86dc6 2.0-storage/MoinMoin/action/AttachFile.py: fix indent
2009-05-17T18:15:35  <CIA-19> dennda default * 5756:d0a5ccd3fd7c 2.0-storage/MoinMoin/storage/__init__.py: Add missing type (bool) to list of allowed types for metadata values
2009-05-17T18:15:36  <CIA-19> dennda default * 5757:de1069d0b933 2.0-storage/MoinMoin/storage/__init__.py: merge 1.9-storage
2009-05-17T18:15:50  <dennda> (these were intended)
2009-05-17T18:17:49  <dennda> oh boy
2009-05-17T18:19:03  <dennda> ThomasWaldmann: Can you wipe 1.9-storage so I can push a clean version again? I guess that's better than reverting all that jazz... (And why did my indentation fix resurrect AttachFile?)
2009-05-17T18:20:07  * dennda turns pale
2009-05-17T19:28:43  <ThomasWaldmann> dennda: did you merge 2.0-storage into 1.9-storage?
2009-05-17T19:29:04  <dennda> ThomasWaldmann: i pushed 2.0 into 1.9, yeah
2009-05-17T19:29:12  <dennda> my bad
2009-05-17T19:30:37  <dennda> made a fix in 1.9 and wanted to merge it into 2.0
2009-05-17T19:32:18  <ThomasWaldmann> btw, hg out is a useful command :)
2009-05-17T19:32:26  <ThomasWaldmann> (hg in also)
2009-05-17T19:32:46  <dennda> ThomasWaldmann: I used it
2009-05-17T19:33:35  <dennda> ThomasWaldmann: it doesn't help when pushing to a repo other than the one you performed out/in on, though
2009-05-17T19:35:05  <xorAxAx> dennda: seek but no tell sounds broken :)
2009-05-17T19:35:40  <dennda> xorAxAx: yeah I can't remember why we implemented seek but not tell
2009-05-17T19:35:40  <xorAxAx> dennda: or better, incomplete
2009-05-17T19:37:03  <ThomasWaldmann> likely we didn't need it yet for moin, what I was quiting was some potential PIL application
2009-05-17T19:37:19  <ThomasWaldmann> ..quoting...
2009-05-17T19:37:30  <dennda> ThomasWaldmann: didn't you remove AttachFile.py from 2.0-storage?
2009-05-17T19:37:53  <xorAxAx> ThomasWaldmann: yes, but api wise its a bit weird, somebody should have looked at the file interface
2009-05-17T19:37:58  <dennda> ThomasWaldmann: it's there again although I told hg to keep it deleted
2009-05-17T19:38:38  <ThomasWaldmann> i did delete it
2009-05-17T19:39:02  <dennda> hmk
2009-05-17T19:39:07  <dennda> hg weirdness then
2009-05-17T19:41:13  <ThomasWaldmann> repo will be fixed in about 30 mins
2009-05-17T19:43:10  <ThomasWaldmann> pity that my kabelbw 2.5mbit/s upstream isn't there yet :)
2009-05-17T19:43:55  <dennda> you can just hg pull -r on the server from that fcked up repo, can't you?
2009-05-17T19:44:06  <dennda> (specifying the last valid revision)
2009-05-17T19:44:25  <dennda> or rather clone -r
2009-05-17T19:44:43  <ThomasWaldmann> yes, that would've worked maybe, too
2009-05-17T19:45:43  <dennda> if you already started it, how do you know at what speed hg is transferring and how much time is left?
2009-05-17T19:45:54  <ThomasWaldmann> scp
2009-05-17T19:45:59  <dennda> ah
2009-05-17T20:00:33  <ThomasWaldmann> dennda: btw, did you test the 2.0 stuff and make up your mind?
2009-05-17T20:00:45  <dennda> not  yet
2009-05-17T20:02:58  <ThomasWaldmann> i likely need to copy/reimplement some more of Page/PageEditor functionality, but working with the new code is more fun that with the old
2009-05-17T20:05:30  <ThomasWaldmann> now we just need one of the guys who ever wanted templating in moin to help with it :P
2009-05-17T20:09:34  <ThomasWaldmann> ok, 1.9-storage is back normal. dennda: carefully redo what you intended to do.
2009-05-17T20:17:01  <dennda> ThomasWaldmann: shall I just redo my commit or pull it from my other 1.9 branch (that's not yet fcked up) thus preserving the hash? (because the fix is in 2.0 as well
2009-05-17T20:18:19  <ThomasWaldmann> try pulling or exporting/importing it
2009-05-17T20:18:31  <ThomasWaldmann> before you push, see hg out output
2009-05-17T20:19:02  <dennda> it was more a c&p problem in combination with a wrong default-push url
2009-05-17T20:20:41  <CIA-19> dennda default * 5696:6cc612b86dc6 1.9-storage/MoinMoin/action/AttachFile.py: fix indent
2009-05-17T20:20:43  <CIA-19> dennda default * 5697:d0a5ccd3fd7c 1.9-storage/MoinMoin/storage/__init__.py: Add missing type (bool) to list of allowed types for metadata values
2009-05-17T20:37:03  <devilsadvocate_> xorAxAx: they're done
2009-05-17T20:37:53  <devilsadvocate_> xorAxAx: been doing some general fiddling around with moin of late
2009-05-17T20:38:00  <devilsadvocate_> nothing worth reporting :\
2009-05-17T20:44:41  <xorAxAx> devilsadvocate_: thats ok, one thing to consider is that a good rough plan is useful. so try to sharpen your plan while playing with moin, i.e. try to check whether your estimates still hold
2009-05-17T20:45:23  <devilsadvocate_> xorAxAx: i was thinking if it would be useful to try to make some sort of graphical representation of the plan
2009-05-17T20:45:27  <devilsadvocate_> uml perhaps?
2009-05-17T20:45:59  <devilsadvocate_> any thoughts on if / how it can be made so that its actually useful?
2009-05-17T20:46:34  <xorAxAx> people use gantt diagrams for that
2009-05-17T20:46:52  <xorAxAx> there is "planner", a FOSS tool
2009-05-17T20:46:59  <xorAxAx> which looks a bit like ms project
2009-05-17T20:47:18  <xorAxAx> not sure if you found it useful, its your decision
2009-05-17T20:47:25  <devilsadvocate_> hm, k
2009-05-17T20:47:30  <devilsadvocate_> i'll look at it
2009-05-17T20:47:44  <devilsadvocate_> first i suppose its high time i fix up /Admin2009
2009-05-17T20:47:45  <xorAxAx> because the hardest part is nto representation but estimation :)
2009-05-17T20:48:23  <xorAxAx> also spending one week on instance creation is a bit off the scale, you should in any case revise your plan :)
2009-05-17T20:48:38  <xorAxAx> and probably make it more fine grained while thinking about the tasks
2009-05-17T20:49:20  <xorAxAx> by enumerating subitems of task - even if just mentally - you get a clear view on what is really needed time-wise
2009-05-17T20:49:30  <devilsadvocate_> xorAxAx: yeah. that timeline was more of a general guideline. i'll redivide the tasks now and project a saner timeline
2009-05-17T20:50:19  <devilsadvocate_> general guideline is probably the wrong phrase to use, but yeah :p
2009-05-17T20:52:27  <xorAxAx> its not like i am keen on timelines because they are timelines but because they can be used to structure the work a bit and allow us both to control and monitor pace
2009-05-17T21:00:54  <dennda> ThomasWaldmann: still around?
2009-05-17T21:09:56  <dennda> ThomasWaldmann: I want to have a todo list featuring *very* concrete todo things for the current week
2009-05-17T21:10:22  <dennda> started that list on http://moinmo.in/ChristopherDenter -- feel free to contribute
2009-05-17T21:12:11  <xorAxAx> dennda: do you know this kind of preference as well: i prefer distinct planning and working phases, so i really tend to love todo lists. in the working phase, collecting and arranging new ideas/tasks is harder for me
2009-05-17T21:13:01  <dennda> ideally
2009-05-17T21:13:04  <dennda> not going to work
2009-05-17T21:13:57  <dennda> but i'd really prefer it if I knew what to do exactly at what point, hence not wasting time. (that's especially useful when working offline, where you can't always ask)
2009-05-17T21:15:00  <xorAxAx> yep
2009-05-17T21:15:14  <xorAxAx> ideally, you only come online when you are blocked in the working phase
2009-05-17T21:15:21  <xorAxAx> or somebody pings you
2009-05-17T21:16:52  <ThomasWaldmann> dennda: what about the storage2009 page? maybe try to keep stuff at one place
2009-05-17T21:17:29  <dennda> actually that's meant more as a checklist for myself
2009-05-17T21:18:22  <dennda> currently looking at the logs to find out what we agreed on again :-)
2009-05-17T21:19:40  <ThomasWaldmann> i think your checklist should be same as our checklist, so...
2009-05-17T21:22:28  <dennda> it's on Storage2009 now
2009-05-17T21:25:53  <ThomasWaldmann> maybe merge it with existing content there :)
2009-05-17T21:26:43  <ThomasWaldmann> and maybe don't make assumptions about how long something takes until you have a much more detailled idea
2009-05-17T21:27:05  <dennda> getting that now
2009-05-17T21:27:13  <dennda> looking at MoinMoin.web.request.Request
2009-05-17T21:27:36  <dennda> that's the thing that is passed around later where the AMW will be an attribute on, yes?
2009-05-17T21:29:00  <ThomasWaldmann> in 2.0-storage I currently have items.Manager that gives me an Item(Revision) when given the request object and an item name/rev
2009-05-17T21:29:47  <ThomasWaldmann> could be also a classmethod Item.from_name()
2009-05-17T21:30:52  <ThomasWaldmann> and before you think about how you implement acls, maybe first get clear about what exactly they shall do
2009-05-17T21:30:58  <dennda> how is that related to my question?
2009-05-17T21:31:17  <dennda> i'm thinking about how to do the stuff we already discussed
2009-05-17T21:31:24  <ThomasWaldmann> i just told you how i did it :)
2009-05-17T21:33:18  <ThomasWaldmann> btw, there is a page about ACL refactoring
2009-05-17T21:33:21  <dennda> where is that thing defined?
2009-05-17T21:33:53  <ThomasWaldmann> MoinMoin.items.Manager
2009-05-17T21:35:49  <ThomasWaldmann> well, it just uses request.cfg.data_backend currently
2009-05-17T21:38:13  <dennda> yes
2009-05-17T21:38:15  <dennda> just noticed
2009-05-17T21:38:58  <ThomasWaldmann> http://moinmo.in/FeatureRequests/AclRefactoring < skip the non-page stuff
2009-05-17T21:42:25  <dennda> ThomasWaldmann: You confused me. We still agree on having the AMW wrapping the normal data_backend and putting the AMW onto the request for the specific user, don't we?
2009-05-17T21:43:42  <ThomasWaldmann> yes, could be done that way, hopefully
2009-05-17T21:43:52  <dennda> ok
2009-05-17T21:44:06  <ThomasWaldmann> as i said, we should get more clear about behaviour before thinking about implementation
2009-05-17T21:44:58  <dennda> that requires knowledge about what user issued the request while the request object is constructed (so the user name/id/obj can be passed on to the AMW)
2009-05-17T21:45:30  <ThomasWaldmann> request.user
2009-05-17T21:45:55  <dennda> ThomasWaldmann: that seems to be patched onto the request object later on as it is not part of the basic request object initialization
2009-05-17T21:46:32  <ThomasWaldmann> the user should be known already when it accesses items
2009-05-17T21:46:55  <dennda> no doubt
2009-05-17T21:47:20  <dennda> but if the user is not known when the request object is constructed, the AMW can't be put onto the request obj at that point
2009-05-17T21:47:59  <ThomasWaldmann> well, then you'll have to fix that or do it later
2009-05-17T21:49:12  <ThomasWaldmann> but still, how about defining acl specification first?
2009-05-17T21:49:13  <dennda> It would be helpful to know *when and where* the user is put onto the req obj
2009-05-17T21:49:31  <dennda> grep -r "request.user =" * only yields things I don't care about
2009-05-17T21:49:53  <xorAxAx> self.user
2009-05-17T21:49:55  <ThomasWaldmann> if is likely self.user or a property ...
2009-05-17T21:52:25  <dennda> which makes it more difficult to find it... :-)
2009-05-17T21:53:21  <ThomasWaldmann> all the stuff starts in wsgiapp and web/*
2009-05-17T21:59:17  <dennda> aha
2009-05-17T21:59:28  <dennda>     context.user = setup_user(context, context.session)
2009-05-17T21:59:32  <dennda> if i am not mistaken
2009-05-17T22:04:40  <dennda> jup
2009-05-17T22:08:12  <dennda> ThomasWaldmann: with "defining acl specification" you mean discussing whether we should have delete/revert and the like?
2009-05-17T22:09:49  <ThomasWaldmann> yes
2009-05-17T22:13:23  <ThomasWaldmann> revert is rather easy, I think we just drop it.
2009-05-17T22:13:28  <dennda> yes
2009-05-17T22:13:55  <ThomasWaldmann> delete is a bit more difficult
2009-05-17T22:14:04  <ThomasWaldmann> same for move
2009-05-17T22:14:42  <ThomasWaldmann> for delete, I had the vague idea about a Trashbin (Trash/* namespace)
2009-05-17T22:15:39  <ThomasWaldmann> when deleting, we could move an item to Trash/<uid> and put its original name into metadata
2009-05-17T22:16:16  <dennda> do you consider that a SOCTODO or a TODO task btw?
2009-05-17T22:16:42  <ThomasWaldmann> delete acl will be SOCTODO, doing a trashbin is TODO
2009-05-17T22:17:12  <ThomasWaldmann> but delete acl might depend on implementation, therefore you should help thinking about it to save time
2009-05-17T22:18:16  <dennda> tbh, refactoring the *underlying* ACL system was not part of the proposal afair. we can still talk about it of course. just want clarity here
2009-05-17T22:22:18  <ThomasWaldmann> well, I guess you have less trouble IF you refactor it
2009-05-17T22:22:29  <ThomasWaldmann> (or less work)
2009-05-17T22:22:45  *** franklin has joined #moin-dev
2009-05-17T22:23:12  <ThomasWaldmann> because a revert does not manifest itself clearly on the storage api
2009-05-17T22:23:26  <dennda> not intending to be lazy; just want to make sure that the stuff the reviews will have to be based upon is done first (also not causing stress when an exam is near)
2009-05-17T22:23:37  <ThomasWaldmann> you'll likely just see a read for an old rev, creation of a new rev and a write to that new rev
2009-05-17T22:23:53  <dennda> I am unsure if that's a bad thing
2009-05-17T22:24:13  <ThomasWaldmann> what is a bad thing?
2009-05-17T22:24:37  <dennda> the lack of "revert" on the low storage level
2009-05-17T22:25:13  <ThomasWaldmann> so, what am I talking about? we kill revert and that'll save you lots of work.
2009-05-17T22:25:39  <dennda> maybe we have some communication problem
2009-05-17T22:25:48  <dennda> may well be the case as I'm tired
2009-05-17T22:26:17  <dennda> I was under the impression there was code to perform ACL checks *already* that only needs to be utilized by the AMW
2009-05-17T22:27:11  <ThomasWaldmann> we have acl code, but as I have explained above, that won't be usable 1:1
2009-05-17T22:27:44  <ThomasWaldmann> as of 1.8/1.9, moin does acl checks on the action code level
2009-05-17T22:27:58  <dennda> with request.user.may, yes
2009-05-17T22:28:09  <ThomasWaldmann> so if an action wants to read something, it asks the acl whether it may do that
2009-05-17T22:28:21  <dennda> yes
2009-05-17T22:28:36  <dennda> it asks some already implemented function
2009-05-17T22:28:36  <ThomasWaldmann> if it gets positive result, it proceeds, if not, it gives some error msg to user
2009-05-17T22:28:53  <dennda> and I seem to fail to see why the AMW can't ask the same function
2009-05-17T22:29:05  <ThomasWaldmann> of course that can be easily broken by some developer just forgetting to do the "may" call
2009-05-17T22:29:34  <ThomasWaldmann> because you don't have revert on storage api?
2009-05-17T22:30:43  <ThomasWaldmann> storage api might be a level too low for some current acl capabilities
2009-05-17T22:30:58  <dennda> why is that relevant? there's a revert action, isn't there? that would pull the old revision and store it in a new revision. if retrieval or commit of the new rev fails it renders the "not allowed" error to the user
2009-05-17T22:31:22  <dennda> where "fails" means a PermissionDeniedError is raised by the AMW
2009-05-17T22:31:52  <ThomasWaldmann> ok, so when do you check the revert capability?
2009-05-17T22:32:01  <ThomasWaldmann> when it reads? when it writes?
2009-05-17T22:32:14  <dennda> you don't
2009-05-17T22:32:34  <ThomasWaldmann> ok, so if you never check revert capability, we don't need it.
2009-05-17T22:32:40  <ThomasWaldmann> just as I say :)
2009-05-17T22:32:56  <dennda> why do I even care if revert is there or not, then? :-)
2009-05-17T22:33:22  <ThomasWaldmann> a similar problem exists for some other capabilities
2009-05-17T22:33:37  <ThomasWaldmann> that is what I mean with that we need to discuss that first
2009-05-17T22:34:00  <ThomasWaldmann> see that acl refactoring page
2009-05-17T22:34:06  <dennda> it should be ripped out, sure. but the way I said it it will work whether or not there is some revert capability hidden deep inside the internal ACL checks (that I ideally wouldn't need to even look at)
2009-05-17T22:34:43  <ThomasWaldmann> that doesn't make sense
2009-05-17T22:35:38  <ThomasWaldmann> if we document that we have a "revert" ACL capability (like JoeDoe:revert), a user expects that it works as documented
2009-05-17T22:36:02  <ThomasWaldmann> so, if you can not sanely implement it, we have to remove it
2009-05-17T22:36:15  <dennda> what I was saying is
2009-05-17T22:36:33  <dennda> I can implement it as I just said; it will work. We can cleanly rip out the revert ACL, it will continue to work
2009-05-17T22:36:45  <dennda> since I never checked for any revert privilege
2009-05-17T22:37:37  <ThomasWaldmann> ok, so add a note to your list to kill "revert" capability
2009-05-17T22:38:13  <dennda> what does that involve?
2009-05-17T22:38:39  <ThomasWaldmann> a small code modification and a docs update
2009-05-17T22:39:11  <ThomasWaldmann> and some thought about migration
2009-05-17T22:39:38  <dennda> "migration" = remove revert privilege from existing acls (the ones put onto the pages)
2009-05-17T22:39:43  <dennda> ?
2009-05-17T22:40:05  <ThomasWaldmann> yes, we likely need to do that
2009-05-17T22:40:14  <dennda> yes
2009-05-17T22:40:15  <dennda> ok
2009-05-17T22:40:22  <dennda> here's another important question to get me started:
2009-05-17T22:41:26  <dennda> looking at your awm
2009-05-17T22:41:30  <dennda>         self.acl_before = request.cfg.cache.acl_rights_before
2009-05-17T22:41:34  <dennda> and then
2009-05-17T22:41:47  <dennda>         allowed = self.acl_before.may(request, username, right)
2009-05-17T22:42:19  <dreimark> re
2009-05-17T22:42:42  <dennda> are those request.cfg.cache.acl_* still the interface to use when checking a users ACL against the page ACL?
2009-05-17T22:43:03  <dennda> (ignoring that it's defined on request.cfg.cache)
2009-05-17T22:44:16  <ThomasWaldmann> the cache is just for not having to parse the configured acls once per request
2009-05-17T22:45:04  <dennda> I just want to know what function/method the AMW is supposed to call in order to figure out whether or not $user has $permission
2009-05-17T22:45:30  <ThomasWaldmann> yes, that's the one
2009-05-17T22:45:44  <dennda> ok
2009-05-17T22:45:44  <ThomasWaldmann> at least for trivial stuff, like read,write
2009-05-17T22:46:47  <ThomasWaldmann> but of course not just the "before" acl, but ALL acls
2009-05-17T22:47:28  <dennda> yeah, O.B.d.A.
2009-05-17T22:47:31  <ThomasWaldmann> and hierarchical ACLs
2009-05-17T22:47:44  <dennda> I have to take a look at that though
2009-05-17T22:48:19  <dennda> before_ after_, etc isn't that intuitive a term
2009-05-17T22:48:21  <ThomasWaldmann> yes, and make your thoughts about admin,delete,create capabilities :)
2009-05-17T22:48:30  <ThomasWaldmann> it is
2009-05-17T22:52:31  <dennda> ThomasWaldmann: a usecase would help. when do you use before, when after?
2009-05-17T22:52:49  <dennda> at least last time I tried to understand HelpOnAcl it wasn't that clear
2009-05-17T22:52:56  <ThomasWaldmann> before is checked before the page/default acl, after is checked after :)
2009-05-17T22:53:04  <dennda> that's not a use case
2009-05-17T22:53:48  <ThomasWaldmann> an wiki site admin/owner usually want to have himself with all capabilities in before acl, because that can not be overriden
2009-05-17T22:54:03  <ThomasWaldmann> (because it is checked before everything else and first match counts)
2009-05-17T22:54:21  <dennda> ah ok, that is first match based
2009-05-17T22:54:24  <ThomasWaldmann> default acl is for pages not having a page acl and is checked next
2009-05-17T22:54:41  <dreimark> dennda: a worse case is if default has admin and sets acl on a page withou admin rights
2009-05-17T22:54:44  <ThomasWaldmann> and after acl is used rarely, can be used for "not to forget something"
2009-05-17T22:55:28  <dreimark> then if you don't have admin rights before none is able to change that acl line
2009-05-17T22:55:35  <ThomasWaldmann> dreimark: then admin capabilities are rightfully taken away from that person :D
2009-05-17T22:56:19  <dreimark> :D
2009-05-17T22:56:22  <dennda> you can define both after and before acls on a page?
2009-05-17T22:56:36  <ThomasWaldmann> no, you define page acls on a page
2009-05-17T22:56:49  <ThomasWaldmann> before/default/after is just in config
2009-05-17T22:57:05  <ThomasWaldmann> or let's say "item acls" from now on
2009-05-17T22:57:27  <dennda> if you're afraid to "forget something", hence using the after acl, why don't you put that into the default acl in the first place?
2009-05-17T22:58:18  <dreimark> the default acls config can be overwritten on the item acl definition
2009-05-17T22:58:32  <dreimark> after will be after this
2009-05-17T22:58:58  <ThomasWaldmann> dennda: it is rarely used. I guess I just did it for symmetry.
2009-05-17T22:59:25  <dennda> does "rarely" mean you know of at least one person using it? :D
2009-05-17T22:59:49  <ThomasWaldmann> i knew many people using all sorts of acls configs
2009-05-17T22:59:59  <ThomasWaldmann> some have been wrong, though :)
2009-05-17T23:00:09  * dreimark has used it. I think it was some case that I wanted to overwrite a setting on a page whithout
2009-05-17T23:00:23  <dreimark> editing all the pages
2009-05-17T23:01:10  <dennda> ok
2009-05-17T23:01:22  <dennda> I guess I need some rest now. can't concentrate any longer
2009-05-17T23:01:23  <dennda> gn8
2009-05-17T23:03:12  <ThomasWaldmann> gn

MoinMoin: MoinMoinChat/Logs/moin-dev/2009-05-17 (last edited 2009-05-16 23:30:02 by IrcLogImporter)