2008-07-02T00:00:05  <xorAxAx> so if you want to actually fix this, you need to approach the formatter and parser code
2008-07-02T00:00:41  <byegonweon> xorAxAx: hmm. that problem seems like more difficult than I though.
2008-07-02T00:01:33  <byegonweon> xorAxAx: ok, I will try to fix that problem with the way you advice me :)
2008-07-02T00:01:36  <xorAxAx> so i actually prefer searching for a js-driven solution. i dont think that it will be longer than 5 lines of code
2008-07-02T00:03:22  <byegonweon> xorAxAx: to tell the truth. I read almost parser and formatter code whole day. then what I know is this problem is more difficult than I thought :)
2008-07-02T00:03:37  <xorAxAx> hehe :)
2008-07-02T00:03:54  <xorAxAx> the new formatter api will look different
2008-07-02T00:13:18  <johill> dennda: http://johannes.sipsolutions.net/patches/moin/storage-api-violations.patch
2008-07-02T00:17:52  <dennda> johill: your question wrt the first test is: should we allow mixing revision manipulation and item metadata manipulation, correct?
2008-07-02T00:21:23  <johill> I think I'm fairly sure we should just catch that and declare it's invalid
2008-07-02T00:21:34  <johill> ahrg
2008-07-02T00:21:37  <johill> more brain damage
2008-07-02T00:21:47  * johill is so happy to get rid of the storage api
2008-07-02T00:21:59  <dennda> the first looks quite ugly
2008-07-02T00:22:04  <dennda> the second I am not so sure about
2008-07-02T00:22:19  <dennda> I experience this loss of concentration again
2008-07-02T00:22:27  <dennda> but luckily I finished my drawing ;
2008-07-02T00:22:29  <dennda> ;)
2008-07-02T00:22:43  <johill> the second is bad too because of when the item is created
2008-07-02T00:23:48  <dennda> then...?
2008-07-02T00:26:06  <johill> well the lock will not have been locked or something
2008-07-02T00:29:11  <dennda> ah yes
2008-07-02T00:29:17  <dennda> and it's ugly, too
2008-07-02T00:29:22  <zenhase> uh, what a day
2008-07-02T00:29:34  <xorAxAx> coding 12h for moin, zenhase? :)
2008-07-02T00:29:59  <zenhase> nope not today ... i tried, but 30 degrees+ where very tiresome
2008-07-02T00:30:10  <dennda> johill: those test cases already fail. do you still want to raise a more beautiful "UglyUseOfAPIError"?
2008-07-02T00:30:17  <dennda> true
2008-07-02T00:30:19  <zenhase> i'll do better tomorrow, looking for a cool place in the library
2008-07-02T00:30:19  <xorAxAx> dennda: ?
2008-07-02T00:30:31  <xorAxAx> dennda: as we discussed today, you need t least an assert
2008-07-02T00:30:34  <johill> haha
2008-07-02T00:30:35  <johill> Your search query "linkto:"FrontPage"" didn't return any results. Please change some terms and refer to HelpOnSearching for more information.
2008-07-02T00:30:38  <johill> (!) Consider performing a full-text search with your search terms.
2008-07-02T00:30:40  <zenhase> hopefully i will fix up tests then
2008-07-02T00:31:22  <johill> dennda: but not all backends will fail them that way, so we need to check that they always fail the same way (assertion failure was my favourite))
2008-07-02T00:31:26  <zenhase> and then i can merge 1.8 and go for some cleanups in the wsgiapp
2008-07-02T00:32:01  <zenhase> right now it's still too much that is done in the init- and run-functions
2008-07-02T00:32:23  <zenhase> needs some splitting up
2008-07-02T00:32:28  <dennda> johill: good point
2008-07-02T00:33:21  * dennda goes zzZzzzzZZzzzZZzzzZZZzzZZZZzzzzzz
2008-07-02T00:33:25  <johill> and some backends might get confused too
2008-07-02T00:33:32  <xorAxAx> johill: hmm, is it really sane to expect an assertitionerror? you said assertionerrors shouldnt be catched, but a test would really do that
2008-07-02T00:33:45  <xorAxAx> johill: i am still not decided
2008-07-02T00:33:55  <dennda> What else do you want to raise?
2008-07-02T00:34:00  <xorAxAx> (which doesnt mean that i like one of both options more)
2008-07-02T00:34:22  <dennda> CommitWhileChangingMetadataError?
2008-07-02T00:34:54  <byegonweon> xorAxAx: good news here.
2008-07-02T00:35:33  <xorAxAx> dennda: no, less specific
2008-07-02T00:35:36  <byegonweon> xorAxAx: with recent version of fckeditor(2.6.2) unfinished html problem solved :)
2008-07-02T00:35:43  <xorAxAx> byegonweon: oh
2008-07-02T00:35:59  <xorAxAx> byegonweon: but didnt you say that the input already had the same issue?
2008-07-02T00:36:03  <johill> xorAxAx: the other real alternative is really just Exception('oops. API violation') I think :)
2008-07-02T00:36:20  <johill> xorAxAx: and yes the test for that would catch the assertion error but that's a corner case, it's excplicitly invalid API use
2008-07-02T00:36:36  <byegonweon> xorAxAx: what same issue?
2008-07-02T00:36:44  <xorAxAx> johill: RuntimeError would be nice
2008-07-02T00:37:02  <byegonweon> xorAxAx: you are so busy :)
2008-07-02T00:37:07  <xorAxAx> byegonweon: i mean, you said that the input to fckeditor already has missing <p>s
2008-07-02T00:37:18  <johill> works too
2008-07-02T00:37:21  <xorAxAx> byegonweon: and nevertheless a bugfix in fckeditor fixes it?
2008-07-02T00:38:02  <xorAxAx> ah
2008-07-02T00:38:07  <xorAxAx> fckeditor has already cleanup code
2008-07-02T00:38:08  <byegonweon> xorAxAx: unfinished html input still remain but recent version fix that on safari too.
2008-07-02T00:38:27  <byegonweon> xorAxAx: that's added 2.6.2 hehe.
2008-07-02T00:38:35  <xorAxAx> hmm
2008-07-02T00:38:40  <xorAxAx> i cant find it in the changelog
2008-07-02T00:39:12  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4219:9075d62183db 1.8-storage-cdenter/MoinMoin/ (10 files in 5 dirs): storage-based search: clean up metadata searches into item and lastrevision searches
2008-07-02T00:39:12  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4220:7586bde1ba7a 1.8-storage-cdenter/MoinMoin/storage/__init__.py: merge
2008-07-02T00:39:42  <xorAxAx> byegonweon: currently its running 2.6.1, right?
2008-07-02T00:40:04  <byegonweon> xorAxAx: yes. I just update fckeditor on my repository.
2008-07-02T00:40:26  <byegonweon> xorAxAx: I just push to hg right now.
2008-07-02T00:40:28  <xorAxAx> weird that they didnt put it into changelog
2008-07-02T00:41:04  <byegonweon> xorAxAx: maybe that's that they try to fix. It seems like side effect.
2008-07-02T00:41:41  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3658:b4a607ba8f15 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/FCKeditor/ (475 files in 55 dirs): remove FCKEditor 2.6.1 to replace with recent version
2008-07-02T00:41:45  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3659:884dfff5c076 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/FCKeditor/ (476 files in 55 dirs): add recent version of FCKeditoor(2.6.2)
2008-07-02T00:41:51  <byegonweon> xorAxAx: or they didn't describe that issue maybe. I'm not sure any of that.
2008-07-02T00:41:55  <xorAxAx> yeah
2008-07-02T00:42:51  <byegonweon> xorAxAx: but some problem remains
2008-07-02T00:43:25  <dennda> I'll do it with runtimeerror then
2008-07-02T00:44:11  <byegonweon> xorAxAx: what I found is fckeditor work on safari replace '&gt;' with '>'
2008-07-02T00:44:45  <byegonweon> xorAxAx: that's make moinmoin didn't accept html code that fckeditor produced.
2008-07-02T00:45:24  <xorAxAx> hmm
2008-07-02T00:46:05  <dennda> good night
2008-07-02T00:46:16  <byegonweon> dennda: good night
2008-07-02T00:46:36  <johill> TheSheep: you have a pep8 failure in modernized
2008-07-02T00:46:50  <johill> dennda: you have some in a few files too
2008-07-02T00:47:34  <xorAxAx> byegonweon: you will fix it :)
2008-07-02T00:47:57  <byegonweon> xorAxAx: yes. I will fix it. and sent to fckeditor team. :)
2008-07-02T00:48:19  <xorAxAx> hehe
2008-07-02T00:48:53  <byegonweon> xorAxAx: everyday I read lots of code hehe. It's exciting.
2008-07-02T00:49:00  <xorAxAx> yep :)
2008-07-02T00:49:03  <johill> ahrg loads of test failures for trying to remove items that don't exist
2008-07-02T00:49:28  <xorAxAx> and after reading a lot of code, you will develop a sense for nice and bad code, byegonweon
2008-07-02T00:49:45  <byegonweon> xorAxAx: hehe.
2008-07-02T00:51:17  <byegonweon> I should have breakfast. everybody good night :)
2008-07-02T00:52:15  <xorAxAx> good breakfast byegonweon :)
2008-07-02T00:57:34  <TheSheep> johill: I can't see any failed tests in modernized.py :/
2008-07-02T00:58:05  <TheSheep> johill: running py.test MoinMoin/_tests/test_sourcecode.py, is that right?
2008-07-02T00:58:27  <johill> MoinMoin/theme/modernized.py:26:68: E231 missing whitespace after ',' 'deleted':    (_("[DELETED]"),           "moin-deleted.png",16, 16),
2008-07-02T00:58:32  <johill> that's what it says here
2008-07-02T00:59:03  <starshine_away> .37
2008-07-02T00:59:06  <johill> or did you fix that and that branch doesn't have the latest 1.8 yet?
2008-07-02T00:59:52  <johill> TheSheep: if you're on linux, enable extended attributes on the filesystem, that makes testsourcecode much smarter
2008-07-02T01:00:32  <TheSheep> johill: that code is copied directly from moinoin's code
2008-07-02T01:00:36  <TheSheep> johill: that table
2008-07-02T01:00:43  <johill> weird
2008-07-02T01:00:48  <johill> it didn't fail here until I touched the file
2008-07-02T01:00:50  <TheSheep> johill: and it has broken spacing, simply because it's formatted as a table
2008-07-02T01:01:32  <johill> TheSheep: no, the __init__.py version does have a space after the ,
2008-07-02T01:01:33  <TheSheep> johill: but I believe it looks more readbale like this...
2008-07-02T01:01:37  <johill>         'deleted':    (_("[DELETED]"),           "moin-deleted.png", 60, 12),
2008-07-02T01:01:40  <TheSheep> hmm
2008-07-02T01:01:45  <TheSheep> well, ok
2008-07-02T01:02:06  <johill> I might agree wrt. readable
2008-07-02T01:02:16  <johill> but then we need to come to a conclusion about removing that test or something
2008-07-02T01:04:00  <CIA-53> Radomir Dopieralski <moindev@sheep.art.pl> default * 3811:e22cd9105e37 1.8/MoinMoin/theme/modernized.py: Modernized theme: fix spacing in teh image table to pass pep8 tests
2008-07-02T01:05:25  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 3812:30ed528054ed 1.8/MoinMoin/ (action/_tests/test_sendcached.py wikiutil.py): fix some pep8 failures
2008-07-02T01:21:48  <ThomasWaldmann> mitsuhiko: lol @ ruby ws
2008-07-02T08:07:58  <dreimark> moin
2008-07-02T08:08:38  * dreimark will be offline most of the day
2008-07-02T08:08:55  <dreimark> (my computer)
2008-07-02T08:17:25  <ThomasWaldmann> moin
2008-07-02T08:38:59  <ThomasWaldmann> PawelPacana: 7 days no commits
2008-07-02T08:43:34  <ThomasWaldmann> gizmach: btw, python has some nice syntactic sugar
2008-07-02T08:44:37  <ThomasWaldmann> instead of writing the (correct, but not nice) if not (elem in seq), you can also write if elem not in seq.
2008-07-02T10:02:15  <gizmach> ThomasWaldmann: ok :)
2008-07-02T10:16:12  <gizmach> and moin
2008-07-02T10:32:08  <gizmach> ThomasWaldmann: also had some tipfellers and will replace this
2008-07-02T10:40:39  <mmihaljevic> :)
2008-07-02T10:42:47  <xorAxAx> moin melita
2008-07-02T10:42:59  <mmihaljevic> xorAxAx: hi
2008-07-02T10:43:51  <zenhase> moin
2008-07-02T10:44:01  <mmihaljevic> ThomasWaldmann: or somewhone, I will send you some pastebins and than will have some questions,
2008-07-02T10:44:04  <mmihaljevic> zenhase: :)
2008-07-02T10:44:26  <zenhase> hi melita :)
2008-07-02T10:44:35  <zenhase> how are you doing?
2008-07-02T10:45:15  <mmihaljevic> zenhase: well, ok, surviving somehow
2008-07-02T10:45:16  <mmihaljevic> u
2008-07-02T10:45:17  <mmihaljevic> ?
2008-07-02T10:46:00  <mmihaljevic> http://paste.pocoo.org/show/78333/ ok this are defined groups in wikiconfig_local
2008-07-02T10:46:48  <ThomasWaldmann> yes?
2008-07-02T10:47:01  <zenhase> i am melting
2008-07-02T10:47:08  <ThomasWaldmann> (having a person's name as groupname is a bit unusual, though)
2008-07-02T10:47:56  <ThomasWaldmann> and you would rather use a similar sequence of statements as in the unit test
2008-07-02T10:48:20  <mmihaljevic> ThomasWaldmann: it was of my testing wiki
2008-07-02T10:48:29  <mmihaljevic> so I could see if this works
2008-07-02T10:48:52  <mmihaljevic> and in my code I found something that it will probably work better and in the right way so I'm changing it
2008-07-02T10:49:05  <ThomasWaldmann> i.e. first define one or two group dicts, then wrap each in a GMCB, then make a GM of them
2008-07-02T10:49:23  <mmihaljevic> I wa changing may in security/__init__.py
2008-07-02T10:49:50  * johill looks for dennda
2008-07-02T10:50:03  <mmihaljevic> ThomasWaldmann: will send you complete code in few minutes just to check if this works what I think
2008-07-02T10:50:09  <mmihaljevic> it will make a better picture
2008-07-02T10:50:43  <mmihaljevic> zenhase: it's ok here at my place, but it is getting warmer
2008-07-02T10:53:39  * ThomasWaldmann sits near a fan :)
2008-07-02T10:58:18  <zenhase> i have had bad experiences with fans, i tend to get a cold in the middle of summer
2008-07-02T11:00:27  <xorAxAx> %-)
2008-07-02T11:01:26  <xorAxAx> i think thats a matter of listening to your body :)
2008-07-02T11:14:09  <zenhase> it always is :)
2008-07-02T11:14:32  * zenhase had just took a short morning fix of video lectures
2008-07-02T11:15:03  <mmihaljevic> ThomasWaldmann: ok here is what I changed http://paste.pocoo.org/show/78335/ (traced with breakpoints if that works)
2008-07-02T11:15:51  <mmihaljevic> probably need to handle "if special in entry:" before it was is_member method used with dict
2008-07-02T11:16:04  <zenhase> a nice short talk from Vilayanur Ramachandran about some brain phenomenas
2008-07-02T11:16:36  <zenhase> now for some work :)
2008-07-02T11:28:34  <ThomasWaldmann> gizmach: if you want me to look at a change, then please provide a diff
2008-07-02T11:29:58  <ThomasWaldmann> and i think the GM should be initialized in the config, makes it more flexible
2008-07-02T11:30:38  <ThomasWaldmann> using the "name" as you did is wrong anyway :)
2008-07-02T11:31:43  <ThomasWaldmann> and the comments there are misleading
2008-07-02T11:31:59  <ThomasWaldmann>                 group_members = gm[entry] # get members of a group
2008-07-02T11:32:33  <ThomasWaldmann> attribute name is also misleading
2008-07-02T11:35:01  <gizmach> http://paste.pocoo.org/show/78337/ thomas
2008-07-02T11:35:27  <gizmach> well when I defined name before it took that string to be my name
2008-07-02T11:35:28  <ThomasWaldmann> and remember pep8
2008-07-02T11:35:40  <gizmach> ThomasWaldmann: ok I didn't check pep8 yet
2008-07-02T11:35:55  <ThomasWaldmann> you just put a blank after a comma
2008-07-02T11:36:59  <gizmach> ok will initialize the gm in config right now and check pep8
2008-07-02T11:37:46  <gizmach> but for the string in the GM deffinition what should I put
2008-07-02T11:39:22  <ThomasWaldmann> that's not your problem, the one writing the config can use any name he/she wants
2008-07-02T11:40:14  <ThomasWaldmann> if we stay with that approach that we only have 1 GM anyway (because it is handling all we need) it does not need a name at all
2008-07-02T11:40:16  <gizmach> ThomasWaldmann: ok that's better
2008-07-02T11:40:25  <gizmach> :)
2008-07-02T11:40:50  <ThomasWaldmann> s/group_members/group/
2008-07-02T11:40:52  <gizmach> than I can remove the name,..
2008-07-02T11:40:57  <gizmach> yes
2008-07-02T11:41:06  <ThomasWaldmann> s/gm/group_manager/
2008-07-02T11:41:34  <gizmach> ok :)
2008-07-02T11:41:52  <ThomasWaldmann> and for the cfg, I guess i also rather tend to group_manager (not groups)
2008-07-02T11:42:05  <gizmach> true :)
2008-07-02T11:42:15  <ThomasWaldmann> although groups is short and nice, it misses the point a bit
2008-07-02T11:42:19  <gizmach> also now I changed in the wikiconfig
2008-07-02T11:42:50  <ThomasWaldmann> also, if someone defines configured groups, he maybe likely uses groups for this purpose
2008-07-02T11:44:09  * ThomasWaldmann has another change idea pending after we have finished this one
2008-07-02T11:44:21  <gizmach> heh cool
2008-07-02T11:46:44  <ThomasWaldmann> (maybe you will have the same idea if you just read the code in that loop again)
2008-07-02T11:48:40  <gizmach> groups + acls together ? while defined groups?
2008-07-02T11:49:23  <ThomasWaldmann> hm?
2008-07-02T11:52:09  <ThomasWaldmann> btw, update pastebin when you're done
2008-07-02T12:15:32  <dennda> morning
2008-07-02T12:15:41  <dennda> johill: back now
2008-07-02T12:18:38  <johill> I had just been thinking about next stuff but, alas, we probably should discuss that later in a larger group (allowing me to get some lunch now) :)
2008-07-02T12:19:03  <dennda> enjoy your meal
2008-07-02T12:19:10  * xorAxAx will go to the mensa as well
2008-07-02T12:19:17  <xorAxAx> johill: should we meet again? :)
2008-07-02T12:19:48  <johill> xorAxAx: hmm and get back here at 1? or I guess I can take my laptop
2008-07-02T12:20:01  <johill> and have irc meeting from there
2008-07-02T12:20:02  <xorAxAx> johill: we can use mine
2008-07-02T12:20:14  <dennda> the both of you together?
2008-07-02T12:20:17  <dennda> that will cause confusion :)
2008-07-02T12:20:20  <johill> but I need at least 15 minutes to get to uni
2008-07-02T12:20:25  <xorAxAx> me too
2008-07-02T12:21:09  <johill> ok meet at about 35-40 down at the mensa stairs then?
2008-07-02T12:21:18  <xorAxAx> rather 12:40
2008-07-02T12:21:33  * xorAxAx &
2008-07-02T12:21:34  <johill> quite short for having lunch till 1 but heh ok we can always use laptops there
2008-07-02T12:22:09  <dennda> johill: I'll have some questions later
2008-07-02T12:23:40  <gizmach> http://paste.pocoo.org/show/78341/ and http://paste.pocoo.org/show/78340/ I think I replace everything
2008-07-02T12:24:33  <gizmach> and for changing the code, I meant something that won't work , nwm
2008-07-02T12:26:59  * gizmach takes a bit rest for food until 1
2008-07-02T12:49:40  <xorAxAx> hehe, the mensa queues ran up to the bottom
2008-07-02T12:49:56  <xorAxAx> so we diverted to the pizza place at our uni :)
2008-07-02T12:53:17  * ThomasWaldmann .oO(meeting in 8 minutes)
2008-07-02T12:54:54  <ThomasWaldmann> waldi: are you there?
2008-07-02T12:55:31  <ThomasWaldmann> (he told yesterday that he might be not here, but still worth a try)
2008-07-02T12:57:19  <ThomasWaldmann> ok, i take that as a no. zenhase / mitsuhiko - are your here?
2008-07-02T12:59:43  <xorAxAx> mitsuhiko  has been idle for 15 hours
2008-07-02T13:00:56  <ThomasWaldmann> zenhase missed last meeting.
2008-07-02T13:01:10  <xorAxAx> he has been idle for 100 minutes
2008-07-02T13:01:26  <ThomasWaldmann> ok, the 2nd meeting is now officially happening.
2008-07-02T13:01:41  <ThomasWaldmann> waldi is missing (he announced it before)
2008-07-02T13:01:59  <ThomasWaldmann> zenhase and mitsuhiko are missing (unexcused iirc)
2008-07-02T13:02:00  <xorAxAx> hmm, can we disapprove mentors at midterm review because they didnt join the meeting? :)
2008-07-02T13:02:23  <ThomasWaldmann> dreimark: are you there?
2008-07-02T13:02:44  <gizmach> re
2008-07-02T13:02:49  <gizmach> ThomasWaldmann: dreimark  is not here
2008-07-02T13:03:02  <gizmach> he said he will be away for almost the whole day
2008-07-02T13:03:07  <gizmach> but you can handle me
2008-07-02T13:03:21  <ThomasWaldmann> ok, so gizmach, it is your stage :)
2008-07-02T13:03:23  <xorAxAx> hehe, handle :)
2008-07-02T13:03:33  <gizmach> xorAxAx: :P
2008-07-02T13:03:34  <gizmach> ok
2008-07-02T13:03:45  <gizmach> well I pasted the last things I done
2008-07-02T13:04:17  <gizmach> my job for the last few days was enabling config backend with acls
2008-07-02T13:04:18  <xorAxAx> when did you paste it?
2008-07-02T13:04:28  <gizmach> <gizmach> http://paste.pocoo.org/show/78341/ and http://paste.pocoo.org/show/78340/ I think I replace everything
2008-07-02T13:04:38  <xorAxAx> byegonweon: are you with us? just checking :)
2008-07-02T13:04:49  <byegonweon> I'm here
2008-07-02T13:05:07  <gizmach> and I done some debug tracing so I think this works, didn't write tests yet
2008-07-02T13:05:21  <xorAxAx> gizmach: hmm, how is that related to acls?
2008-07-02T13:05:30  <xorAxAx> i think acls actually use groups, but thats another layer :)
2008-07-02T13:05:47  <xorAxAx> gizmach: did you think about the outstanding caching design issues?
2008-07-02T13:05:57  <gizmach> xorAxAx: not yet
2008-07-02T13:06:43  <gizmach> I make acls use config backend defined in the wikiconfig
2008-07-02T13:06:54  <xorAxAx> hmm, are those diffs the only changes that you did in the last 7 days?
2008-07-02T13:07:02  <ThomasWaldmann> xorAxAx: acl code needs a small change due to different api
2008-07-02T13:07:11  <xorAxAx> yeah
2008-07-02T13:07:23  <gizmach> xorAxAx: no, but some of them I needed to revert
2008-07-02T13:07:41  <gizmach> because it was the wrong things I done
2008-07-02T13:07:47  <ThomasWaldmann> well, progress is extremely slow
2008-07-02T13:08:05  <xorAxAx> hmm, when did we hand out the api skeleton
2008-07-02T13:08:20  <gizmach> ThomasWaldmann: I know :(
2008-07-02T13:08:22  <xorAxAx> johill and me will be back in 120 secs
2008-07-02T13:08:29  <ThomasWaldmann> if one just looks at the code, one could think you work for 1h/week, not as your major summer job
2008-07-02T13:09:15  <ThomasWaldmann> so I suggest, you raise priority for this job dramatically :)
2008-07-02T13:09:28  <gizmach> ThomasWaldmann: it's the only priority now
2008-07-02T13:09:28  <gizmach> :)
2008-07-02T13:10:15  <ThomasWaldmann> ok, then you should be able to have working "configured group" acls today
2008-07-02T13:10:29  <ThomasWaldmann> and some tests proving it
2008-07-02T13:10:32  <gizmach> ThomasWaldmann: I think so
2008-07-02T13:10:33  <gizmach> ok
2008-07-02T13:10:34  <gizmach> :)
2008-07-02T13:11:09  <ThomasWaldmann> wikiconfig looks ok now, btw
2008-07-02T13:11:13  <xorAxAx> hmm
2008-07-02T13:11:24  <gizmach> ThomasWaldmann: ok, at least something
2008-07-02T13:11:59  * ThomasWaldmann would maybe move the datastruct import to be directly above where it is used for a sample config, but that is just cosmetics
2008-07-02T13:12:00  * dreimark watches (got 10mins)
2008-07-02T13:12:32  <gizmach> ThomasWaldmann:  will put it there
2008-07-02T13:12:33  <ThomasWaldmann> how long is it until midterm from now?
2008-07-02T13:12:48  <gizmach> 2 weeks?
2008-07-02T13:12:54  <byegonweon> 1weeks?
2008-07-02T13:13:04  <ThomasWaldmann> gizmach: did you fix the comments to be not misleading?
2008-07-02T13:13:09  <xorAxAx> review will start on 9th
2008-07-02T13:13:11  <ThomasWaldmann> and the attr names?
2008-07-02T13:13:16  <xorAxAx> or 7th?
2008-07-02T13:13:40  <gizmach> ThomasWaldmann: in the security/__init__.py? yes
2008-07-02T13:13:41  <ThomasWaldmann> ok, we will find the right dates later, but obviously it is approaching fast
2008-07-02T13:13:47  <byegonweon> start on 7th. on my google calendar about gsoc
2008-07-02T13:14:23  <xorAxAx> so 5 days left
2008-07-02T13:14:38  <ThomasWaldmann> gizmach: any definite blockers?
2008-07-02T13:15:31  <gizmach> ThomasWaldmann: for the congif backend not
2008-07-02T13:15:50  <gizmach> but my next step will be caching or something else?
2008-07-02T13:16:07  <dreimark> wikipage groups
2008-07-02T13:16:17  <gizmach> dreimark: ok
2008-07-02T13:16:26  <dreimark> and while working on this thinking about caching
2008-07-02T13:16:39  <ThomasWaldmann> well, looking at the time, the main thing is to produce a reasonable amount of reasonable code :)
2008-07-02T13:16:52  <ThomasWaldmann> the caching stuff might need quite some thinking
2008-07-02T13:17:01  <gizmach> ok
2008-07-02T13:17:45  <ThomasWaldmann> byegonweon: your stage
2008-07-02T13:17:54  <byegonweon> last meeting, what I told you mainly is making fckeditor work on firefox.
2008-07-02T13:17:58  <ThomasWaldmann> gizmach: we'll continue discussign afterwards
2008-07-02T13:18:02  <byegonweon> now, It works on firefox well. still have some problem such as unicode encoding problem :)
2008-07-02T13:18:03  <gizmach> ThomasWaldmann: ok
2008-07-02T13:18:14  <byegonweon> since last wednesday, I fixed smiley plugin and fckeditor's tidy behavior on safari browser.
2008-07-02T13:18:16  <xorAxAx> byegonweon: thats the one related to the single action, right?
2008-07-02T13:18:22  <byegonweon> yes.
2008-07-02T13:18:34  <byegonweon> this working almost done and recent version of fckeditor have some bug about process tag on safari. so I try to fix that.
2008-07-02T13:19:00  <ThomasWaldmann> xorAxAx: i that encoding trouble is rather in the python code, can you help fixing that?
2008-07-02T13:19:10  <xorAxAx> ThomasWaldmann: not sure i want to touch that code :)
2008-07-02T13:19:17  <xorAxAx> we'll see
2008-07-02T13:19:41  <xorAxAx> byegonweon: ok, are there any moin-specific fckeditor plugins that still need to be fixed?
2008-07-02T13:20:10  <byegonweon> xorAxAx: works on firefox. almost well.
2008-07-02T13:20:18  <xorAxAx> almost? :)
2008-07-02T13:20:23  <byegonweon> xorAxAx: but I will check on other browser.
2008-07-02T13:20:33  <byegonweon> almost mean (as I know)
2008-07-02T13:20:49  <xorAxAx> ok
2008-07-02T13:20:58  <xorAxAx> regarding the deliverables that you set yourself:
2008-07-02T13:21:03  <xorAxAx> you promised "make more testcase for fckeditor"
2008-07-02T13:21:11  <xorAxAx> and " improve usability"
2008-07-02T13:21:24  <xorAxAx> besides that, you seem to have fulfilled most deliverables that you set for yourself
2008-07-02T13:21:36  <xorAxAx> when do you think will you approach those items?
2008-07-02T13:22:24  <byegonweon> most of all. I make editor works fine.
2008-07-02T13:22:35  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4236:0b7eefba0c6f 1.8-storage-cdenter/MoinMoin/ (9 files in 6 dirs): merge 1.8
2008-07-02T13:22:36  <byegonweon> then other things can do.
2008-07-02T13:23:39  <xorAxAx> so, when do you plan to have some kind of js-driven tests for the editor?
2008-07-02T13:23:43  <byegonweon> I think hardest things that editor doesn't work are fixed or will fix soon.
2008-07-02T13:24:30  <byegonweon> to tell the truth. I try that job after this week.
2008-07-02T13:24:43  <ThomasWaldmann> byegonweon: didn't you want to add some comments to selection plugin about what it is / what it does exactly?
2008-07-02T13:25:34  <byegonweon> yes. I told you I want to refactoring selection plugin.
2008-07-02T13:25:38  <xorAxAx> cool
2008-07-02T13:25:50  <byegonweon> but I didn't do that. because of other jobs.
2008-07-02T13:25:58  <xorAxAx> so besides the bug on safari, we dont have any large blocker right now
2008-07-02T13:26:05  <byegonweon> just wait few days please.
2008-07-02T13:26:16  <ThomasWaldmann> ok, don't forget it. If selection is something you have fixed, you should now know best what it does. :)
2008-07-02T13:26:30  <byegonweon> thank :)
2008-07-02T13:26:52  <byegonweon> xorAxAx: yes, we don't have big bugs. unitil now :)
2008-07-02T13:27:14  <johill> byegonweon: small thing I just noticed: the macro icon has [[M]] instead of <<M>> on the icon, it wasn't updated for the new syntax, might want to fix it
2008-07-02T13:27:27  <ThomasWaldmann> byegonweon: did you practically test gui editor with some bigger pages, like HelpOnMoinWikiSyntax?
2008-07-02T13:27:58  <byegonweon> johill: thanks. I will check that.
2008-07-02T13:28:25  <byegonweon> ThomasWaldmann: I didn't check that kind of large page. I will check that also after this meeting
2008-07-02T13:28:27  <johill> TheSheep: the universal edit button should link to the gui editor if that's the user's preference :)
2008-07-02T13:29:04  <byegonweon> what I do this week is.
2008-07-02T13:29:22  <ThomasWaldmann> byegonweon: when practically trying to work with fckeditor in moin, I sometimes found very strange behaviour (like complete moin web pages showing in something that should've been some dialogue rather).
2008-07-02T13:29:40  <ThomasWaldmann> johill: iirc that works
2008-07-02T13:30:04  <ThomasWaldmann> byegonweon: did you already see that or fix it?
2008-07-02T13:30:34  <johill> ThomasWaldmann: oh the edit action does that? ok
2008-07-02T13:30:51  <byegonweon> ThomasWaldmann: I didn't that kind of behavior.
2008-07-02T13:31:21  <ThomasWaldmann> byegonweon: ok, I'll try to reproduce it using your repo content.
2008-07-02T13:31:26  <byegonweon> ThomasWaldmann: but few things change just replace editor with new one. :)
2008-07-02T13:31:37  <xorAxAx> just by replacing ...
2008-07-02T13:31:40  <xorAxAx> the
2008-07-02T13:31:41  <byegonweon> hehe.
2008-07-02T13:31:55  <xorAxAx> ok, i think we can talk to the next student
2008-07-02T13:32:19  <ThomasWaldmann> byegonweon: sorry, I interrupted you after "what i do this week is ..."
2008-07-02T13:33:01  <xorAxAx> indeed
2008-07-02T13:33:51  <byegonweon> ThomasWaldmann: never mind. what I do this week is make editor works fine on other browser :)
2008-07-02T13:34:46  <ThomasWaldmann> rather unspecific, but no problem if you reach that goal :))
2008-07-02T13:35:05  <ThomasWaldmann> ok, thanks byegonweon, johill and dennda: your stage :)
2008-07-02T13:35:17  <xorAxAx> it if doesnt work on lynx or links, i will be not amused ;_)
2008-07-02T13:35:31  <ThomasWaldmann> :P
2008-07-02T13:35:44  <byegonweon> xorAxAx: hehe.
2008-07-02T13:35:50  * ThomasWaldmann will try telnet
2008-07-02T13:36:06  <johill> dennda: ?
2008-07-02T13:36:21  <dennda> yes, sorry
2008-07-02T13:36:27  <dennda> had some mess in #ubuntu-de :)
2008-07-02T13:36:28  <dennda> here now
2008-07-02T13:36:44  <dennda> During this last week my plan was to finish the MemoryBackend.
2008-07-02T13:37:34  <dennda> That implied doing more things than I thought I had to, especially because we spotted a few mistakes in the implementation.
2008-07-02T13:38:21  <xorAxAx> heh
2008-07-02T13:38:24  <dennda> (i.e. create_item and commit_item not working than they were meant to)
2008-07-02T13:38:48  <dennda> Those have now been fixed and further additions are being made to the MemoryBackend that we discovered would be necessary in order to use it as real backend.
2008-07-02T13:39:08  <johill> are you thinking of news()
2008-07-02T13:39:09  <johill> ?
2008-07-02T13:39:10  <dennda> (Some methods)
2008-07-02T13:39:14  <dennda> and keys()
2008-07-02T13:39:56  <johill> ok but that keys() is just the generic code and yo udid that
2008-07-02T13:40:06  <dennda> yes, it's nothing big and fancy
2008-07-02T13:40:37  <dennda> Further tests have been added, too, but there still are some testcases that are missing that I will cover.
2008-07-02T13:40:38  <xorAxAx> byegonweon: also you stopped logging weekly progress on http://moinmo.in/MoonByeongweon/SOC2008
2008-07-02T13:40:56  <johill> right
2008-07-02T13:41:11  <PawelPacana> what is news()?
2008-07-02T13:41:35  <byegonweon> xorAxAx: yes. I will do that again.
2008-07-02T13:41:57  <dennda> PawelPacana: An optimized way to receive the latest logged events that have happened before $timestamp
2008-07-02T13:42:20  <dennda> (other than iterating over all items, checking their metadata and appending them to a list or something)
2008-07-02T13:42:31  <PawelPacana> ok
2008-07-02T13:42:37  <dennda> needed for "Recent Changes" for instance
2008-07-02T13:42:46  <johill> PawelPacana: we'll explain in more detail later, it's not hard
2008-07-02T13:42:47  <ThomasWaldmann> dennda: after
2008-07-02T13:43:08  <dennda> Shall I proceed?
2008-07-02T13:43:13  <johill> please
2008-07-02T13:43:15  <ThomasWaldmann> (otherwise it would be olds :)
2008-07-02T13:43:30  <dennda> What's up next is this:
2008-07-02T13:43:47  <dennda> ThomasWaldmann: True :)
2008-07-02T13:44:25  <dennda> - Complete tests for the abstract storage layer so that they can be used by other backends as well (I'll try to obey the rules of TDD more now that I have been branded by missing tests leading to mistakes.) -- That's the part where I will work with PawelPacana
2008-07-02T13:45:20  <xorAxAx> cool
2008-07-02T13:45:38  <dennda> - Make moin use the new storage API. I had a phone call with johill where we discussed that. I took a look at it and still have some questions. I will start with making Page.py and PageEditor.py work, so we can see something working. Then the other modules will be adjusted.
2008-07-02T13:46:20  <ThomasWaldmann> having something practically working would be nice :)
2008-07-02T13:46:51  <dennda> yes, that's the latter of those two TODOs and is fairly important to me
2008-07-02T13:47:14  <ThomasWaldmann> btw, does Page still have my hack of caching code?
2008-07-02T13:47:30  <johill> caching hack?
2008-07-02T13:47:39  <dennda> dunno what you mean by that
2008-07-02T13:47:48  <ThomasWaldmann> Page data/metadata caching in memory
2008-07-02T13:48:13  <ThomasWaldmann> maybe hwendel already removed it
2008-07-02T13:48:27  <xorAxAx> yes, he did
2008-07-02T13:48:32  <ThomasWaldmann> (if not: it should not stay)
2008-07-02T13:49:03  <johill> no idea
2008-07-02T13:49:05  <ThomasWaldmann> ok, guess it's time for PawelPacana. thanks dennda / johill.
2008-07-02T13:49:15  <johill> hey I have one point
2008-07-02T13:49:21  <xorAxAx> hmm, no TheSheep?
2008-07-02T13:49:31  <ThomasWaldmann> TheSheep: meh! :))
2008-07-02T13:49:32  <johill> I want to rearrange dennda's tasks to do attachfile before acls
2008-07-02T13:49:41  <dennda> johill: umm
2008-07-02T13:49:57  <johill> because ACLs are currently working and attachfile blocks storage
2008-07-02T13:50:20  <dennda> johill: We have a /slightly/ adjusted schedule anyway, now that I am into the whole thing, havn't we? :)
2008-07-02T13:50:21  <johill> dennda: do you like ACLs better?
2008-07-02T13:50:38  <TheSheep> ThomasWaldmann: sorry, I overslept a little
2008-07-02T13:50:54  <ThomasWaldmann> yeah, having something productively usable (even if no ACLs at the beginning) would be nice.
2008-07-02T13:51:17  <johill> yeah but having storage first and actually using all storage code would be good
2008-07-02T13:51:42  <johill> anyway, we can discuss later if nobody disagrees totally
2008-07-02T13:51:49  <ThomasWaldmann> yes. I really appreciate getting rid of AttachFile action :)
2008-07-02T13:52:09  <dennda> I do agree
2008-07-02T13:52:10  <ThomasWaldmann> most of that code was total crap.
2008-07-02T13:52:23  <ThomasWaldmann> got slightly better recently, but still crappy.
2008-07-02T13:52:27  <TheSheep> ThomasWaldmann: should there be a dummy action that will just do a redirect?
2008-07-02T13:52:28  <johill> we'll see. I'd probably think we should start out just porting atachfile to storage
2008-07-02T13:52:40  <johill> so the UI and stuff doesn't initially change
2008-07-02T13:52:54  <ThomasWaldmann> TheSheep: could be
2008-07-02T13:53:31  <xorAxAx> johill: makes senese
2008-07-02T13:53:39  <johill> anyway, nobody seems to say that ACLs are more important so let's talk to PawelPacana now
2008-07-02T13:53:44  <xorAxAx> the ui stuff  is another large series of tasks anyway
2008-07-02T13:53:45  <ThomasWaldmann> johill: could be done like that, yes. but it will have to die soon later (we need some UI for it, though :).
2008-07-02T13:54:07  <johill> ThomasWaldmann: sure, but if we get it working like that we can, no matter how much dennda can do of that, still use the storage code
2008-07-02T13:54:33  <ThomasWaldmann> ok, i guess we have to talk about that later, so PawelPacana has the stage now :)
2008-07-02T13:54:35  <johill> I fear that because of the enormity of the task he won't be able to make new UI for everything, and would want to have the new storage api regardless
2008-07-02T13:55:03  <ThomasWaldmann> PawelPacana: are you there?
2008-07-02T13:55:09  <PawelPacana> sure
2008-07-02T13:55:20  <PawelPacana> my task was finishing implementing API methods to fully pass API tests, and
2008-07-02T13:55:23  <PawelPacana> researching/showing working-copy less commits
2008-07-02T13:55:28  <dennda> (By the way: There are a bunch of exams coming up next week that I am going to tackle, but fortunately this semester will be finished around the mid of this month, and then I got no other obligations than moin. :)) --- But now to PawelPacana
2008-07-02T13:55:58  <PawelPacana> I sadly admit, as seen during last seven days without commit, nothing of that has been done
2008-07-02T13:56:08  <PawelPacana> and I dont feel right about that
2008-07-02T13:56:16  <PawelPacana> there were many external factors which distracted me from my main summer task:
2008-07-02T13:56:22  <PawelPacana> friday exam, collecting end-of-semester-paperwork, unsuccesful searching for a new flat,
2008-07-02T13:56:30  <PawelPacana> inally moving from the old flat to student house (yesterday)
2008-07-02T13:56:52  <PawelPacana> I dont want to excuse myself, rather get back to work, as there is no much time
2008-07-02T13:57:13  <PawelPacana> now there aren't any distracting facotrs left and I can fully concentrate
2008-07-02T13:57:18  <ThomasWaldmann> so you'll stay at the student house for the next weeks/months?
2008-07-02T13:57:29  <PawelPacana> for the next month
2008-07-02T13:57:40  <PawelPacana> and the journey will begin once again
2008-07-02T13:58:01  <ThomasWaldmann> maybe it would be a good idea to delay that journey until after soc?
2008-07-02T13:58:47  <PawelPacana> probably, but there is no posssibility of staying here longer
2008-07-02T13:58:59  <ThomasWaldmann> oh :|
2008-07-02T13:59:23  <ThomasWaldmann> well, you'll manage it :)
2008-07-02T13:59:36  <PawelPacana> plan for this week is basically last weeks plan, except in shorter time
2008-07-02T13:59:36  <ThomasWaldmann> just try to not lose too much time
2008-07-02T14:00:07  <PawelPacana> and there is EP soon, and I'll stay on sprint
2008-07-02T14:00:30  <ThomasWaldmann> ah, cool :) So we'll have some hacking there :)
2008-07-02T14:00:38  <dennda> EP?
2008-07-02T14:00:40  <PawelPacana> sure :)
2008-07-02T14:01:05  <ThomasWaldmann> Pity that TheSheep seems not to stay for sprints.
2008-07-02T14:01:30  * ThomasWaldmann hopes to get some spare parts for his damaged notebook before leaving for EP.
2008-07-02T14:01:41  <johill> dennda: europython I gather
2008-07-02T14:02:10  <ThomasWaldmann> otherwise I maybe have to work on my OLPC laptop
2008-07-02T14:02:44  <ThomasWaldmann> ok, looks like the official part of the meeting is done. Happy hacking! :)
2008-07-02T14:03:08  <ThomasWaldmann> zenhase: waldi: we'll talk later today.
2008-07-02T14:03:51  <xorAxAx> ThomasWaldmann: the same one you had in egypt?
2008-07-02T14:05:58  <ThomasWaldmann> yes, still the same. but this time it is maybe not manufacturors fault.
2008-07-02T14:06:27  <johill> dennda: so what questions did you have?
2008-07-02T14:06:40  <ThomasWaldmann> i had heavy fs trouble and first thought that just the CF flash media was worn out,
2008-07-02T14:07:03  <ThomasWaldmann> but after inserting a new SSD, i also had bit errors on it.
2008-07-02T14:07:26  <ThomasWaldmann> Currently main suspect is the special ide cable going from the disk to the mainboard.
2008-07-02T14:08:04  * xorAxAx -> gone
2008-07-02T14:08:17  <dennda> johill: Page.py line 86
2008-07-02T14:08:18  <ThomasWaldmann> (if I held the ssd outside, it worked, as soon as put inside, bowing/stretching the cable, it was erroneous)
2008-07-02T14:08:35  <dennda> self._items = ItemCollection(request.cfg.data_backend, request)
2008-07-02T14:08:46  <johill> hm?
2008-07-02T14:08:48  <dennda> How do I transform that? What is request?
2008-07-02T14:11:41  <ThomasWaldmann> gizmach: if you have questions while working on stuff, just post.
2008-07-02T14:11:46  <johill> you don't need to transform that
2008-07-02T14:11:57  <johill> ItemCollection is just the API proxy thing lanius had
2008-07-02T14:12:03  <dennda> I thought we were getting rid of ItemCollection
2008-07-02T14:12:09  <johill> just replace it by the backend
2008-07-02T14:12:11  <johill> yeah
2008-07-02T14:12:28  <johill> so if you want to keep self._items assign request.cfg.data_backend to it, or just remove it alltogether
2008-07-02T14:12:30  <dennda> That cannot work
2008-07-02T14:12:40  <johill> and use request.cfg.data_backend instead where self._items is used
2008-07-02T14:12:51  <johill> why not?
2008-07-02T14:12:57  <dennda> yes, *that* is going to work
2008-07-02T14:13:18  <dennda> well I obviously can't just do s/ItemCollection/Backend/ :)
2008-07-02T14:13:25  <gizmach> ThomasWaldmann: ok, will write a test for that what I've done to prove this part works
2008-07-02T14:13:33  <johill> heh yeah. well it's probably simpler to just remove ._items and see where it's used
2008-07-02T14:13:44  <gizmach> also do I need to enable config backend somewhere else?
2008-07-02T14:13:52  <johill> and use (self.)request.data_backend instead in those places
2008-07-02T14:13:57  <ThomasWaldmann> gizmach: see other tests about how to modify cfg from a test
2008-07-02T14:14:14  <ThomasWaldmann> TestConfig iirc
2008-07-02T14:14:16  <gizmach> ThomasWaldmann: ok
2008-07-02T14:14:18  <dennda> yes, just trying to catch the cases where we want our api-violation-runtimeerror to be raised
2008-07-02T14:14:56  <johill> any time you try to nest change_metadata and create_revision
2008-07-02T14:15:21  <dennda> sure
2008-07-02T14:15:24  <johill> i.e. in Item.create_revision add
2008-07-02T14:15:28  <johill> assert not self._locked
2008-07-02T14:15:33  <johill> and in Item.change_metadata add
2008-07-02T14:15:43  <johill> assert self._new_revision is None
2008-07-02T14:15:47  <johill> (or whatever that variable was)
2008-07-02T14:16:16  <dennda> yes, did it similar on the backend but that was a bit stupid
2008-07-02T14:16:37  <johill> self._uncommitted_revision
2008-07-02T14:16:49  <johill> that's it
2008-07-02T14:16:56  <johill> basically, a test or two would be good
2008-07-02T14:17:57  <dennda> yes, I adjusted yours
2008-07-02T14:18:03  <johill> (oh and I just realised you forgot to add/implement Item.rollback())
2008-07-02T14:18:35  <dennda> oops
2008-07-02T14:18:36  <johill> but you can leave that out for now too
2008-07-02T14:18:56  <dennda> takes just a minute
2008-07-02T14:19:24  <johill> don't forget the membackend implementation :)
2008-07-02T14:20:57  <dennda> What else do you want to have there?
2008-07-02T14:21:15  <dennda> Afair we talked about that and the only thing we came up with was setting _uncommitted_revision to None
2008-07-02T14:21:33  <johill> nothing for the memory backend
2008-07-02T14:21:47  <dennda> then it's implemented now
2008-07-02T14:21:53  <johill> except maybe setting the revision object to be invalid
2008-07-02T14:22:04  <johill> so ou can no longer write to it after rollback
2008-07-02T14:22:15  <johill> similar to how you cannot write after commit (or is that not implemented?)
2008-07-02T14:22:37  <dennda> write to a revision after it has been committed?
2008-07-02T14:22:55  <johill> yeah what happens if you try that?
2008-07-02T14:23:21  <dennda> you get an assertionerror
2008-07-02T14:23:23  <johill> anyway, don't spend too much time on that, it's just another api abuse corner case
2008-07-02T14:23:28  <johill> ok cool
2008-07-02T14:23:50  <dennda> http://paste.pocoo.org/show/78349/
2008-07-02T14:24:48  <johill> ah but I was thinking the second rev.write() should already give an error
2008-07-02T14:25:35  <johill> but it's not too important at this point
2008-07-02T14:25:39  <dennda> well "rev" is still bound to that NewRevision object
2008-07-02T14:25:58  <dennda> you'd need to check that seperately
2008-07-02T14:26:05  <johill> yeah it's easyyeah
2008-07-02T14:26:30  <johill> don't worry about it
2008-07-02T14:26:39  <johill> I think you should focus on getting Page stuff working now
2008-07-02T14:29:47  <dennda> 30 degree in shadowed places
2008-07-02T14:31:30  <johill> battery low, I'll have to leave
2008-07-02T14:32:27  <xorAxAx> 100 min. left :)
2008-07-02T14:32:39  <xorAxAx> TP:mac -- 1:0
2008-07-02T14:33:18  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station PERIOD com> default * 4237:782d832e23f2 1.8-storage-cdenter/MoinMoin/storage/ (__init__.py _tests/test_backends_memory.py): storage: Forgot to define Item.rollback(). Doing so. If you do nested Item metadata and Revision manipulation you will now receive a RuntimeError reflecting your API-abuse. Adjusting two tests to cover those cases.
2008-07-02T14:34:14  <dennda> My lappie has power for >4h with the small battery and around 7h with the large one :)
2008-07-02T14:35:09  <TheSheep> hehe, mine has power for 1h...
2008-07-02T14:35:40  <TheSheep> it's going to be a loong trip to Vilnus
2008-07-02T14:37:44  <ThomasWaldmann> sounds like you'll need some good book also :)
2008-07-02T14:38:30  <xorAxAx> i once got a submission by student for homework (they have to submit real paper). it were 41 pages - mostly printed code.
2008-07-02T14:38:38  <xorAxAx> i wonder if that would work with moin's code :)
2008-07-02T14:38:57  <TheSheep> xorAxAx: converted to whitespace to allow recycling
2008-07-02T14:39:07  <xorAxAx> TheSheep: nah, but 5 pt. font
2008-07-02T14:39:16  <xorAxAx> so it was as readable as a printed whitespace program
2008-07-02T14:39:23  <TheSheep> moin's code doesn't follow the 80 columns limit, so it wouldn't print nicely
2008-07-02T14:39:36  <xorAxAx> landscape printing
2008-07-02T14:40:02  <TheSheep> on toilet paper
2008-07-02T14:54:48  <CIA-53> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 3741:26240254340b 1.7/MoinMoin/theme/__init__.py: avoid creating of new pagedirs with empty edit-log files by just accessing a non-existant page
2008-07-02T15:09:26  <johill> xorAxAx: my battery is broken... I guess you win on that too, it's my third one in just over three years
2008-07-02T15:09:54  <xorAxAx> i remember that story :)
2008-07-02T15:10:02  <xorAxAx> indeed. i still have my original ones
2008-07-02T15:11:53  <dennda> Any of you coming to froscon?
2008-07-02T15:12:47  <johill> Any of you going to OLS ;)
2008-07-02T15:14:08  <dennda> hehe
2008-07-02T15:42:58  <johill> dennda: can you do get_revision(-1) quickly?
2008-07-02T15:56:00  <dennda> yep, just a sec
2008-07-02T16:00:52  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station PERIOD com> default * 4238:44a168640ff1 1.8-storage-cdenter/MoinMoin/storage/ (__init__.py backends/memory.py): storage: adding sugar: If you call item.get_revision(-1) you receive the last revision of that item.
2008-07-02T16:01:12  <dennda> johill: there you go
2008-07-02T16:01:55  <johill> :)
2008-07-02T16:04:35  <dennda> oh forgot a corner case
2008-07-02T16:04:42  <johill> hm?
2008-07-02T16:05:18  <TheSheep> dennda: how about full slicing interface? ;)
2008-07-02T16:05:25  <johill> ah
2008-07-02T16:05:27  <johill> ValueError: max() arg is an empty sequence
2008-07-02T16:05:52  <dennda> yes
2008-07-02T16:05:55  <dennda> but easy, just a sec
2008-07-02T16:06:10  <TheSheep> you killed cia! ;)
2008-07-02T16:07:38  <dennda> not my fault :<
2008-07-02T16:08:45  <xorAxAx> well, its shared by a few other projects :)
2008-07-02T16:10:05  <johill> hmmm. what sort of storage backend do we want to be default after this? an improved filesystem storage?
2008-07-02T16:10:31  <xorAxAx> couchdb? <duck>
2008-07-02T16:10:33  <dennda> memory
2008-07-02T16:10:46  <xorAxAx> appengine? <duck>
2008-07-02T16:11:16  <dennda> you don't want to force people to have sql or hg installed, do you?
2008-07-02T16:11:24  <dennda> force is a bad word here
2008-07-02T16:11:58  <xorAxAx> yes, thats the idea
2008-07-02T16:12:08  <xorAxAx> of moin
2008-07-02T16:12:30  <xorAxAx> so generally, a backend is needed which is fine with the fs only
2008-07-02T16:12:36  <johill> yeah
2008-07-02T16:12:48  <johill> I'm trying to design one that can work properly
2008-07-02T16:13:14  <dennda> hm, the only case where an item can have zero revisions is when it has not been committed yet
2008-07-02T16:13:29  <johill> no
2008-07-02T16:13:33  <johill> it can have metadata and no revisions
2008-07-02T16:13:43  <dennda> yes, and in that case, it has not been committed yet
2008-07-02T16:13:48  <johill> think user storage or newly created and locked items
2008-07-02T16:13:52  <dennda> publish != commit
2008-07-02T16:13:59  <johill> ok true, but it's still persistent already
2008-07-02T16:14:03  <dennda> yes
2008-07-02T16:15:22  <TheSheep> xorAxAx: /dev/random backend ;)
2008-07-02T16:15:47  <xorAxAx> TheSheep: nah, you cant write to it. /dev/null is better for that
2008-07-02T16:16:00  <xorAxAx> but it could use /dev/random for page reassembly [tm]
2008-07-02T16:16:06  <TheSheep> xorAxAx: you can't read from it
2008-07-02T16:16:16  <TheSheep> yeah, lossy compression
2008-07-02T16:16:39  <dennda> ok there
2008-07-02T16:16:51  <dennda> now it raises NoSuchRevisionError if you want -1 and there are no revisions
2008-07-02T16:18:55  <johill> ok
2008-07-02T16:28:00  <johill> how many pages do large wikis have?
2008-07-02T16:28:25  <xorAxAx> ~ 10000
2008-07-02T16:28:38  <xorAxAx> (large moin wikis)
2008-07-02T16:30:56  <johill> wikipedia has on the order of 2.5e6
2008-07-02T16:30:56  <TheSheep> mine got slow after creating ~800 group pages ;)
2008-07-02T16:31:01  <TheSheep> user group, that is
2008-07-02T16:31:19  <johill> that's reasonable
2008-07-02T16:31:25  <johill> I'm thinking about assigning IDs randomly
2008-07-02T16:34:59  <johill> I can only create about 128k dirs on tmpfs
2008-07-02T16:35:17  <johill> I guess at that scale you should think about bigger storage schemes :)
2008-07-02T16:36:38  <xorAxAx> tmpfs sounds like well suited for the amnesia backend :)
2008-07-02T16:39:02  <dennda> amnesia backend == memory backend?
2008-07-02T16:40:05  <zenhase> i find the name a bit disturbing ;)
2008-07-02T16:40:22  <dennda> I like it
2008-07-02T16:40:48  <zenhase> the erlang guys were similarily funny with calling their distributed fault-tolerant tuplespace database 'mnesia'
2008-07-02T16:43:22  <xorAxAx> :)
2008-07-02T16:43:41  <dennda> xorAxAx: Did you mean the memorybackend?
2008-07-02T16:43:46  <dennda> I like that name more, actually
2008-07-02T16:43:53  <xorAxAx> dennda: well, he is trying to store files on a tmpfs :)
2008-07-02T16:44:05  <xorAxAx> the memory backend doent have a fs layer
2008-07-02T16:44:17  <dennda> xorAxAx: Sure, but it suffers from amnesia, too
2008-07-02T16:44:33  <dennda> so if that name is not already taken I'd think about using it :)
2008-07-02T16:44:49  <johill> you get moin working on it first ;)
2008-07-02T17:02:09  <dreimark> re
2008-07-02T17:11:02  <johill> hrm
2008-07-02T17:11:30  <johill> I don't think we can enforce that revision metadata is written before revision data, can we?
2008-07-02T17:12:34  <johill> or rather, should
2008-07-02T17:13:56  <johill> although that would be very useful
2008-07-02T17:15:02  <johill> thoughts?
2008-07-02T17:22:21  <TheSheep> johill: maybe commit could commit both?
2008-07-02T17:22:38  <TheSheep> johill: we were planning to store the revision metadata in the commit message...
2008-07-02T17:23:16  <johill> commit does commit both
2008-07-02T17:23:17  <TheSheep> johill: having them commited independently forces to check and make the real commit in whichever comes last
2008-07-02T17:23:32  <johill> I just wonder whether it should all be assigned before actually writing data
2008-07-02T17:23:43  <johill> say
2008-07-02T17:23:47  <johill> rev = item.new_revision(7)
2008-07-02T17:23:51  <johill> rev['a'] = 'b'
2008-07-02T17:23:55  <johill> rev.write('abc')
2008-07-02T17:23:56  <johill> would be ok
2008-07-02T17:24:02  <johill> but doing the last two lines the other way around wouldn't be
2008-07-02T17:24:12  <johill> it seems like a fairly artificial restriction though
2008-07-02T17:24:25  <johill> http://moinmo.in/JohannesBerg/FilesystemStorage
2008-07-02T17:25:16  <dreimark> bbl
2008-07-02T17:34:33  <johill> TheSheep: "Creating a revision" is the problem
2008-07-02T17:35:49  <TheSheep> johill: can't you just keep it in memory until you commit?
2008-07-02T17:36:04  <johill> yeah but you want to have metadata first in the file so it's cheaper to access
2008-07-02T17:36:19  <johill> and you want to write the data directly to the file to avoid keeping it in memory
2008-07-02T17:37:44  <johill> the only thing I'm worried about a bit is the locking of the name2id thing
2008-07-02T17:40:20  <xorAxAx> huh
2008-07-02T17:40:30  <xorAxAx> another name please :)
2008-07-02T17:40:38  <johill> hehe
2008-07-02T17:41:16  * johill renames to name-mapping
2008-07-02T17:41:37  <johill> so far I haven't come up with a good way to have a mutable file w/o requiring locking
2008-07-02T17:41:45  <johill> or lots of fsync
2008-07-02T17:45:43  <johill> the current storage design avoids that problem by making renames impossible to handle well
2008-07-02T17:45:55  <johill> and having some people run into file length limits
2008-07-02T17:50:16  <waldi> boah ...
2008-07-02T17:50:37  <waldi> moin
2008-07-02T17:53:26  <johill> I wonder if it's too expensive to use something like tcdb and rebuild the idnex all the time
2008-07-02T17:53:48  <johill> let's just try
2008-07-02T17:58:17  <TheSheep> johill: you know how mercurial handles it?
2008-07-02T17:58:25  <TheSheep> johill: they have a pretty neat file format
2008-07-02T17:58:43  <TheSheep> append-only
2008-07-02T18:02:00  <TheSheep> johill: I guess stroing metadata in a separate file is out of the question?
2008-07-02T18:02:05  <TheSheep> storing
2008-07-02T18:02:10  <johill> well it seems very space inefficient
2008-07-02T18:02:24  <TheSheep> depends on the filesystem :)
2008-07-02T18:02:57  <TheSheep> but you have the benefit of being able to read the files directly from behind the scenes
2008-07-02T18:03:05  <TheSheep> e.g. images would get thumbnails
2008-07-02T18:03:56  <TheSheep> johill: what about keeping metadata of all revision in a single, append-only file, and the data of revisions in separate files?
2008-07-02T18:05:01  <johill> then you have to seek around a lot for accessing the last revision's metadata which is the most common operation
2008-07-02T18:06:14  <TheSheep> johill: how about you store the index of last record somewhere at the beginning?
2008-07-02T18:06:28  <TheSheep> sure, it's still one read and seek more...
2008-07-02T18:06:52  <TheSheep> actually, it would be probably better to store it at the end...
2008-07-02T18:07:37  <waldi> you forget non-posix systems
2008-07-02T18:07:42  <johill> also it's very hard to do those operations atomically
2008-07-02T18:08:03  <johill> creating a single file atomically should be possible even on windows "filesystems"
2008-07-02T18:09:49  <TheSheep> not possible to fix the length of metadata, eh?
2008-07-02T18:09:55  <xorAxAx> johill: is it possible to define a command that starts a group, \defs a few times, does stuff as specified by the argument and then ends the group again?
2008-07-02T18:10:39  <johill> xorAxAx: probably, but most likely not with latex, use plain tex
2008-07-02T18:10:50  <xorAxAx> johill: yes, i am doing plain tex :)
2008-07-02T18:11:03  <xorAxAx> johill: but my current problem is that my outer #1 collides with the inner one
2008-07-02T18:11:09  <xorAxAx> or something like that
2008-07-02T18:11:33  <johill> ah
2008-07-02T18:11:57  <johill> hm no idea offhand
2008-07-02T18:12:01  <johill> TheSheep: no, of course not :)
2008-07-02T18:12:44  <johill> hmm rewriting a 10k entry tcdb database takes about 2 seconds on my machine
2008-07-02T18:12:48  <johill> guess that's not really acceptable
2008-07-02T18:13:33  <xorAxAx> ah, i have to escape #
2008-07-02T18:14:13  <TheSheep> johill: how about fixing the important parts that need to be accessed often and stroing the rest somewhere else?
2008-07-02T18:14:34  <johill> xorAxAx: guess that makes sense but does it still work then?
2008-07-02T18:14:48  <johill> TheSheep: how do you atomically commit such a thing then?
2008-07-02T18:15:02  <TheSheep> johill: good point
2008-07-02T18:15:25  <johill> (well you could do it in reverse order of readers and add rollback code, but it still makes me uncomfortable)
2008-07-02T18:16:24  <TheSheep> johill: writing to file is not atomic anyways, is it?
2008-07-02T18:16:58  <TheSheep> johill: the best you can do is writing to temporary file and renaming, but it still requires locks on windows
2008-07-02T18:17:06  <johill> no but you can put it into place atomically
2008-07-02T18:17:18  <johill> why that?
2008-07-02T18:17:22  <johill> I'm not overwriting here
2008-07-02T18:17:29  <TheSheep> ah
2008-07-02T18:17:49  <xorAxAx> johill: yes
2008-07-02T18:18:39  <xorAxAx> hmm
2008-07-02T18:18:41  <johill> xorAxAx: cool. I'll put a note on my tex cheatsheet
2008-07-02T18:18:52  * TheSheep stops the urge to propose to store the metadata encoded in the file name on windows ;)
2008-07-02T18:19:15  <xorAxAx> johill: but the whole thing doesnt work yet
2008-07-02T18:19:16  <johill> could be in the resource fork on mac ;)
2008-07-02T18:19:29  <johill> or extended attributes on linux/windows
2008-07-02T18:20:15  <johill> at least tcdb scales better than linear
2008-07-02T18:20:16  <TheSheep> moonlight and madness
2008-07-02T18:20:23  <johill> 100k entries only need 15 seconds
2008-07-02T18:21:11  <TheSheep> johill: an entry is a single file or a single revision?
2008-07-02T18:21:25  <xorAxAx> ah, works now, kpdf bug
2008-07-02T18:22:27  <johill> TheSheep: this was for the item->id thing, so an entry is an item name
2008-07-02T18:23:31  <johill> lookups are fast
2008-07-02T18:27:18  <mitsuhiko> back
2008-07-02T18:27:23  <mitsuhiko> sorry, was unavailable today :(
2008-07-02T18:32:48  <johill> ok python-cdb, the C implementation is fast enough
2008-07-02T18:33:00  <johill> it takes ~1 second to rewrite a 100k entries db
2008-07-02T18:33:06  <johill> changing a single key
2008-07-02T18:34:05  <johill> bbl, bbq with some friends
2008-07-02T18:50:02  <dreimark> re
2008-07-02T18:50:26  <dreimark> johill: I wish you luck with the weather
2008-07-02T18:50:51  <dreimark> it cools down here and rains cats and dogs
2008-07-02T18:51:09  <dreimark> gizmach: ping
2008-07-02T18:51:36  <TheSheep> meeeaoow! thud!
2008-07-02T18:51:38  <gizmach> dreimark: here writing a test for group configBackend
2008-07-02T18:52:11  <dreimark> gizmach: is it implemted now?
2008-07-02T18:52:18  <gizmach> but got test failing by >       AttributeError: TestConfig instance has no attribute 'acl_rights_valid'
2008-07-02T18:53:03  <gizmach> dreimark: we'll see, I traced and it seemed working but need test to pass
2008-07-02T18:53:33  <dreimark> ok
2008-07-02T18:54:12  <zenhase> wow, down from 87 failing tests to 18
2008-07-02T18:55:06  <gizmach> dreimark: do you know what an error could be?
2008-07-02T18:55:19  <gizmach> want complete pastebin?
2008-07-02T18:55:44  <zenhase> btw, the strange py.test behaviour wasn't py.test but me, failing to program a proper __getattr(ibute)__ that preserves the real exceptions thrown :o
2008-07-02T18:57:03  <gizmach> http://paste.pocoo.org/show/78370/  here, or enybody else, I think the problem is in acl_rights
2008-07-02T18:57:05  <dreimark> gizmach: do you have looked how test_security has defined  acl_rights_valid ?
2008-07-02T18:57:55  <dreimark> self.config = self.TestConfig(defaults=['acl_rights_valid', 'acl_rights_before'])
2008-07-02T18:58:00  <gizmach> self.config = self.TestConfig(defaults=['acl_rights_valid', 'acl_rights_before'])
2008-07-02T18:58:10  <gizmach> but when I do it it doesn't work
2008-07-02T18:59:25  <gizmach> >       AttributeError: TestConfig instance has no attribute 'acl_rights_valid' again the same error
2008-07-02T18:59:45  <gizmach> but when I leave empty acl_rights =[] it works
2008-07-02T19:00:41  <dreimark> default is acl_rights_valid = ['read', 'write', 'delete', 'revert', 'admin']
2008-07-02T19:00:50  <dreimark> if you leave it empty then there is nothing to check
2008-07-02T19:03:01  <dreimark> thomas name is wrong typed
2008-07-02T19:03:51  <dreimark> gizmach: ^^
2008-07-02T19:04:40  <gizmach> dreimark: will replace this but what about the acl_rights
2008-07-02T19:04:46  <gizmach> how to sove that problem?
2008-07-02T19:15:28  <dreimark> e.g. you can set a definition for a user that he is not able to read a page by acl_rights_default
2008-07-02T19:15:54  <dreimark> and for an other user that he is not allowed to write
2008-07-02T19:17:30  <dreimark> gizmach:
2008-07-02T19:18:09  <gizmach> yes but I try to do it ba setting acl_rights
2008-07-02T19:18:18  <gizmach> if u looked at pastebin
2008-07-02T19:22:08  <dreimark> why do you need this in self.config =  acl_rights_valid=acl_rights,?
2008-07-02T19:22:50  <gizmach> dreimark: that was a mistake, I removed it
2008-07-02T19:23:02  <dreimark> and the test still fails ?
2008-07-02T19:23:49  <gizmach> yes
2008-07-02T19:23:55  <gizmach> here is my new pastebin
2008-07-02T19:24:34  <gizmach> http://paste.pocoo.org/show/78373/
2008-07-02T19:24:53  <gizmach> and it fails
2008-07-02T19:25:58  <gizmach> gtg dinner, be back later
2008-07-02T19:26:38  * dreimark looks
2008-07-02T19:29:21  <dreimark> from MoinMoin.security import AccessControlList looks nicer
2008-07-02T19:39:33  <dreimark> looks like you like to do a similiar test as testApplyACLByUser
2008-07-02T19:50:22  <dreimark> gizmach: http://paste.pocoo.org/show/78378/
2008-07-02T19:50:43  <dreimark> works for me with current standard moin page groups
2008-07-02T19:51:23  <dreimark> you can all this scripts if it is saved in the same dir as wikiserver
2008-07-02T19:51:47  <dreimark> with eclipse debug
2008-07-02T19:57:26  <dreimark> forget 19:29 < dreimark> from Moi
2008-07-02T19:57:52  <dreimark> s/you can all/you can call/
2008-07-02T19:59:21  * dennda is liquid now
2008-07-02T20:10:22  <dreimark> gizmach: self.config = self.TestConfig(group_manager=GroupManager([GroupManagerConfigBackend(groups1), ]),)
2008-07-02T20:10:37  <dreimark> what all is then in self.config defined?
2008-07-02T20:14:17  <dennda> ping PawelPacana
2008-07-02T20:14:35  <dreimark> dennda: liquid ?
2008-07-02T20:14:53  <dennda> due to melting away
2008-07-02T20:16:42  <PawelPacana> dennda: gtg,can we discuss storage tests about 21:30?
2008-07-02T20:16:54  <dennda> yep, think so
2008-07-02T20:18:31  <PawelPacana> cool, i`ll ping you later then
2008-07-02T20:20:54  <ThomasWaldmann> re
2008-07-02T20:38:51  <dreimark> student still at dinner - mentor becomes hungry too
2008-07-02T20:38:53  <dreimark> bbl
2008-07-02T22:23:15  <RaphaelBossek> hi folks
2008-07-02T22:23:54  <RaphaelBossek> I would like to stop surge protection while executing a action plugin. where could I find an example ?
2008-07-02T22:25:06  * RaphaelBossek upgrade to 1.6.2 and tried to build the Xapian index; the python script consums 2GB of RAM which is the limit for Linux 32bit for processes...
2008-07-02T22:43:14  <xorAxAx> note that his is a #moin question
2008-07-02T22:47:35  <RaphaelBossek> xorAxAx, I would like to extend the CreatePdfAction plugin by this... is this a moin question too ?
2008-07-02T22:47:49  <xorAxAx> yes
2008-07-02T23:06:53  <johill> dreimark: weather was fine, _just_ now started to get a bit stormy
2008-07-02T23:06:58  <johill> dreimark: thanks :)
2008-07-02T23:24:58  <johill> ok I think I'll just use cdb for the name->id lookup
2008-07-02T23:25:09  <johill> with write locking and database rewrites
2008-07-02T23:25:18  <johill> read access is very fast and that matters a lot
2008-07-02T23:26:16  <TheSheep> johill: what's "id"?
2008-07-02T23:26:28  <johill> just an arbitrary, random, integer
2008-07-02T23:26:36  <johill> constant too
2008-07-02T23:26:51  <TheSheep> constant to what?
2008-07-02T23:27:29  <TheSheep> let me ask differently: what is it used for?
2008-07-02T23:28:12  <TheSheep> I assume it's for the file backend?
2008-07-02T23:28:25  <TheSheep> you want to have integer filenames?
2008-07-02T23:28:48  <johill> directory names, yeah
2008-07-02T23:29:12  <TheSheep> why not use some hash function?
2008-07-02T23:29:30  <johill> hash what?
2008-07-02T23:30:09  <TheSheep> >>> hash("page name")
2008-07-02T23:30:09  <TheSheep> 621411575
2008-07-02T23:30:41  <johill> and what if I rename the page?
2008-07-02T23:31:01  <TheSheep> aaaah
2008-07-02T23:31:03  <TheSheep> :)
2008-07-02T23:31:20  <johill> maybe that would be a strategy to find a new ID
2008-07-02T23:31:25  <johill> instead of random as I proposed
2008-07-02T23:31:56  <TheSheep> you still need to handle collisions
2008-07-02T23:32:00  <johill> but it has bad properties if you rename, and I think random doesn't matter much
2008-07-02T23:32:20  <johill> yeah what I was thinking is to start with a range of 1..10000 and choose one at random
2008-07-02T23:32:24  <johill> if it collides, choose another one
2008-07-02T23:32:35  <TheSheep> won't work with hash :)
2008-07-02T23:32:41  <johill> if it collides, extend space *10
2008-07-02T23:32:47  <johill> or so
2008-07-02T23:33:21  <TheSheep> why not start with larger space right away?
2008-07-02T23:33:52  <johill> no particular reason really, but it makes the dirnames and the name->id database longer
2008-07-02T23:34:55  <johill> I was trying to calculate the expected space filling but got sidetracked
2008-07-02T23:35:14  <TheSheep> johill: PawelPacana said that semantics of create_item and has_item changed?
2008-07-02T23:38:46  <johill> not sure about has_item but for a reason I cannot remember we wanted create_item to not change the database persistently
2008-07-02T23:39:14  <TheSheep> johill: then has_item doesn't return True right after create_item
2008-07-02T23:39:21  <johill> yeah
2008-07-02T23:43:45  <ThomasWaldmann> re

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-07-02 (last edited 2008-07-01 22:15:02 by IrcLogImporter)