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)