2009-07-12T02:21:26  *** amartani has quit IRC
2009-07-12T02:45:08  *** amartani has joined #moin-dev
2009-07-12T03:22:43  <amartani> hi..
2009-07-12T03:23:54  <dreimark> hi amartani
2009-07-12T03:24:08  * dreimark is sleepless again
2009-07-12T03:25:30  <amartani> I'm trying to run wikiserver.py on a debian box, but I'm getting an error
2009-07-12T03:25:32  <amartani> socket.error: (99, 'Cannot assign requested address')
2009-07-12T03:25:51  <amartani> someone knows what this means?
2009-07-12T03:26:14  <dreimark> amartani:do you have something already running  on 8080?
2009-07-12T03:26:52  <amartani> dreimark: no.
2009-07-12T03:27:22  <dreimark> netstat -lp
2009-07-12T03:27:58  <amartani> nothing on :8080
2009-07-12T03:29:05  <dreimark> amartani: do you have changed something in wikiserver_config?
2009-07-12T03:29:38  <amartani> no.
2009-07-12T03:29:46  <amartani> can I change the port?
2009-07-12T03:30:12  <dreimark> yes in that config file and also the machine name, but normally it should run out of the box
2009-07-12T03:34:47  <dreimark> amartani: solution is on http://moinmo.in/DesktopEdition/UserContributions
2009-07-12T03:35:05  <dreimark> at the bottom
2009-07-12T03:37:48  <amartani> dreimark: it works! thanks!
2009-07-12T03:37:53  <dreimark> :)
2009-07-12T03:37:57  <dreimark> good night
2009-07-12T03:38:02  <amartani> gn
2009-07-12T03:44:54  *** amartani has quit IRC
2009-07-12T03:49:08  *** amartani has joined #moin-dev
2009-07-12T04:14:00  <xorAxAx> ThomasWaldmann: did you get mails by the gsoc system saying that a mentor didnt hand in his eval form yet?
2009-07-12T04:35:16  <amartani> I'm getting some EOFError here on some requests, someone knows what this could be?
2009-07-12T04:35:17  <amartani> http://paste.pocoo.org/show/127952/
2009-07-12T07:23:29  <CIA-78> Alexandre Martani <amartani AT gmail DOT com> default * 6106:9eca9560ba44 2.0-storage-editor-amartani/MoinMoin/web/static/htdocs/applets/Mobwrite/mobwrite_moinmoin.js: Real-time editor: replace tabs by spaces on javascript
2009-07-12T07:23:30  <CIA-78> Alexandre Martani <amartani AT gmail DOT com> default * 6107:84e3373bfe46 2.0-storage-editor-amartani/MoinMoin/web/static/htdocs/applets/Mobwrite/ (mobwrite_core.js mobwrite_moinmoin.js): Real-time editor: Disable mobwrite on 5 consecutive errors
2009-07-12T07:23:32  <CIA-78> Alexandre Martani <amartani AT gmail DOT com> default * 6108:de203059962b 2.0-storage-editor-amartani/MoinMoin/ (3 files in 2 dirs): Real-time editor: Show message when mobwrite stops after failing connection
2009-07-12T07:26:58  *** amartani has quit IRC
2009-07-12T11:49:39  <ThomasWaldmann> xorAxAx: no
2009-07-12T12:14:29  <ThomasWaldmann> dreimark: how did you get those "connection errors"?
2009-07-12T12:24:31  <ThomasWaldmann> amartani: dennda: devilsadvocate: dimazest: dreimark: waldi: xorAxAx: do not forget to fill out all midterm evals (deadline is tomorrow iirc) and prepare and do not forget our sunday meeting later today
2009-07-12T12:25:03  <ThomasWaldmann> afaik, students have to fill out 1 form, mentors have to fill out 2 forms
2009-07-12T12:25:04  * dennda did that already
2009-07-12T12:25:18  <dreimark> ThomasWaldmann: the twiki draw exception?
2009-07-12T12:25:24  <dennda> perhaps I should set up a cronjob that pastes the lines here
2009-07-12T12:25:31  <ThomasWaldmann> dreimark: no, mobwrite
2009-07-12T12:25:53  <ThomasWaldmann> dennda: if that will also answer questions, fine :)
2009-07-12T12:26:21  <dennda> it will just respond '42' to everyting with a question mark in it
2009-07-12T12:26:54  <ThomasWaldmann> i answered 42 to one of the program eval questions :)
2009-07-12T12:27:06  <dennda> what was the question?
2009-07-12T12:27:19  <dennda> what was that form all about anyway?
2009-07-12T12:27:53  <ThomasWaldmann> it was mostly about computing background of mentor
2009-07-12T12:29:29  <dreimark> ThomasWaldmann: do we have fill out that form too? we do have students assigned. so it is optional or not?
2009-07-12T12:32:23  <ThomasWaldmann> Welcome to the Google Summer of Code 2009 Midterm Program Evaluation. This evaluation is optional for all mentors and organization administrators without student participants assigned to them on Google Summer of Code 2009 site.
2009-07-12T12:33:35  <ThomasWaldmann> well, maybe i didn't read that well enough. or I understood it in the way that it is not optional for mentors with sutdents.
2009-07-12T12:34:35  <dennda> It is mandatory for all of you
2009-07-12T12:34:51  <ThomasWaldmann> says who?
2009-07-12T12:34:55  <dennda> Since you all have students assigned to you
2009-07-12T12:35:04  <dreimark> I was wondering that it had shown up in the navigation but after reading some mails I didn't wonder because melange is not ready now. after three times reading that text I decided I have an assigned student
2009-07-12T12:35:20  <dreimark> and it is optional for me.
2009-07-12T12:35:38  <dennda> optional for all mentors without students -> mandatory for all mentors with students
2009-07-12T12:35:43  <dennda> at least by my logic
2009-07-12T12:35:54  <ThomasWaldmann> the problem is that they only tell that "without student" -> "optional"
2009-07-12T12:36:22  <dennda> just fill out the form and make google happy
2009-07-12T12:36:24  <ThomasWaldmann> you can't really make a conclusion about "with student" -> ??
2009-07-12T12:37:13  <dreimark> Ml
2009-07-12T12:37:15  <dreimark> And now, the instructions.....
2009-07-12T12:37:15  <dreimark> *Instructions for Mentors with students assigned to them on the GSoC
2009-07-12T12:37:15  <dreimark> 2009 site:*
2009-07-12T12:37:16  <ThomasWaldmann> and it was sitting in the leftsidebar in red colour :)
2009-07-12T12:37:32  <dreimark> 2. Look in the left hand navigation menu. Under GSoC 2009, you will
2009-07-12T12:37:32  <dreimark> see a link, highlighted red, entitled, "Survey (new): Mentor Midterm
2009-07-12T12:37:34  <dreimark> Evaluation.
2009-07-12T12:37:54  * dreimark and the next paragraph is about
2009-07-12T12:38:00  <dreimark> *Instructions for Mentors without students assigned to them on the
2009-07-12T12:38:00  <dreimark> GSoC 2009 site:*
2009-07-12T12:38:09  <dreimark> 2. Look in the left hand navigation menu. Under GSoC 2009, you will
2009-07-12T12:38:09  <dreimark> see a link, highlighted red, entitled, "Survey (new): Midterm Program
2009-07-12T12:38:09  <dreimark> Evaluation.
2009-07-12T12:38:10  <dreimark> Click this link to go to the survey questions.
2009-07-12T12:38:44  <dreimark> that was from the mail by Leslie about How-To: Midterm Evaluations
2009-07-12T12:39:06  <ThomasWaldmann> i doubt that they will get too much feedback from mentors without students (except from org admins without students=
2009-07-12T12:39:50  <dreimark> further more she wrote
2009-07-12T12:39:51  <dennda> at least now they know that ThomasWaldmann doesn't read the ml :-)
2009-07-12T12:39:51  <dreimark> Also note that anyone with mentor level access to the GSoC 2009 site
2009-07-12T12:39:51  <dreimark> can submit this program evaluation, but it is not required of anyone.
2009-07-12T12:39:51  <dreimark> We would really like for mentors and org admins who do not have
2009-07-12T12:39:51  <dreimark> students assigned to submit this evaluation so we get your perspective
2009-07-12T12:39:53  <dreimark> on the program, but again it is not required.
2009-07-12T12:40:43  <dennda> or think he's over-excited :-)
2009-07-12T12:41:03  <dreimark> noone can read everything - and a wrong ui can lead in problems
2009-07-12T12:42:02  <xorAxAx> i propose to tell the students today whether they passed or failed
2009-07-12T12:43:23  <ThomasWaldmann> xorAxAx: you can use that picture reimar and me took in california :)
2009-07-12T12:43:38  <xorAxAx> hehe
2009-07-12T12:43:51  <xorAxAx> no, i prefer clear words :)
2009-07-12T12:44:14  <dennda> what picture?
2009-07-12T12:51:48  <dreimark> dennda: http://moinmo.in/ReimarBauer?action=AttachFile&do=view&target=the_end.jpg
2009-07-12T12:52:12  <dennda> :-)
2009-07-12T12:52:42  <ThomasWaldmann> it's nothing to do with the Evil Dentist... just
2009-07-12T12:52:43  <ThomasWaldmann> FLOSS (free/libre/open source software)
2009-07-12T12:52:51  <ThomasWaldmann> (from ML)
2009-07-12T12:56:48  <dennda> If I were in the position to decide, I'd support xorAxAx's proposal btw
2009-07-12T13:02:13  <dreimark> ThomasWaldmann: give me a hint I remember the exception but didn't find my report
2009-07-12T13:13:50  <ThomasWaldmann> dreimark: i read it in amartani's diary
2009-07-12T13:49:12  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 4347:6031b8170766 1.8/MoinMoin/auth/http.py: http auth: added debug logging
2009-07-12T14:25:59  <dreimark> ThomasWaldmann: I think amartani is referring to the problem that the browser still sends mobwrite actions also when the wikiserver is stopped
2009-07-12T14:26:48  <dreimark> or a different one runs without mobwrite
2009-07-12T14:30:15  * dreimark looks like cia sleeps
2009-07-12T14:30:20  <dreimark> # HG changeset patch
2009-07-12T14:30:20  <dreimark> # User Reimar Bauer <rb.proj AT googlemail DOT com>
2009-07-12T14:30:20  <dreimark> # Date 1247392440 -7200
2009-07-12T14:30:20  <dreimark> # Node ID cbc739f4e5ebd2c383eb68cd8583d21092e53d78
2009-07-12T14:30:20  <dreimark> # Parent  6b6cc67478ffdc6ec900d5a9e6edcf86ea54ae5e
2009-07-12T14:30:22  <dreimark> CheckTranslation: no link for translated page if it is in the set of not_translated_system_pages
2009-07-12T14:31:26  * dreimark wonders if there is a rule to avoid 4 two letter words ...
2009-07-12T14:31:39  <dreimark> and all starting with an i
2009-07-12T15:22:47  <ThomasWaldmann> dimazest: i am wondering about whether _load_groups, members, member_groups are not rather implementation details of the greedy implementation (and maybe should not be documented as official API)
2009-07-12T15:23:13  <dimazest> good point
2009-07-12T15:23:44  <ThomasWaldmann> the dict api docs are still todo, right?
2009-07-12T15:23:55  <dimazest> yes
2009-07-12T15:28:06  <ThomasWaldmann> dimazest: btw, do you have a testcase now that tests for group parsing when indentation is not 1 space per level?
2009-07-12T15:28:48  <ThomasWaldmann> dimazest: do you have a testcase for creole group pages?
2009-07-12T15:30:01  <dimazest> there  is for indentation , but i need to do it for creole
2009-07-12T15:46:54  *** amartani has joined #moin-dev
2009-07-12T15:52:39  <ThomasWaldmann> dimazest: btw, i think for the sqla groups backend, we should also have a sqla auth module, otherwise it doesn't make that much sense
2009-07-12T15:54:41  <ThomasWaldmann> otoh, in 2.0 we'll have users stored in sqla (including password hash)
2009-07-12T15:57:57  <ThomasWaldmann> thus, we need to think more about it :) esp. you and dennda :)
2009-07-12T16:00:13  <dennda> I am not really aware of the problem
2009-07-12T16:02:17  <ThomasWaldmann> "doing sth with sqla/groups/users in 1.9 that also makes sense in 2.0"
2009-07-12T16:03:37  <dennda> I didn't know that there's some other sqla task
2009-07-12T16:04:15  <ThomasWaldmann> see Groups2009
2009-07-12T16:08:57  <ThomasWaldmann> dimazest: please add a groups_wikiconfig_snippet (and same for dicts...)
2009-07-12T16:18:50  <ThomasWaldmann> dennda: wiki/config/... is likely not uptodate, right?
2009-07-12T16:19:55  <ThomasWaldmann> wikiconfig.py (toplevel) neither, right?
2009-07-12T16:21:02  <ThomasWaldmann> dennda: TypeError: object of type 'AclWrappedRevision' has no len()
2009-07-12T16:21:27  <ThomasWaldmann> (i was just accessing FrontPage with current code)
2009-07-12T16:21:49  <ThomasWaldmann> do you sometimes try to use the wiki? :P
2009-07-12T16:23:00  <dennda> actually i did yesterday evening
2009-07-12T16:24:01  <ThomasWaldmann> there are also failing tests with same problem
2009-07-12T16:24:22  <dennda> I know what the problem is, I think
2009-07-12T16:24:38  <ThomasWaldmann> and pep8 failures also...
2009-07-12T16:27:03  <dennda> two due to destroy not being a proper privilege yet
2009-07-12T16:27:08  *** amartani has quit IRC
2009-07-12T16:27:25  <dennda> others due to non-memory backends not implementing destroy
2009-07-12T16:27:29  <ThomasWaldmann> >           AccessDeniedError: You may not destroy revisions of 'I will see my children die :-('.
2009-07-12T16:27:39  <dennda> 16:27 < dennda> two due to destroy not being a proper privilege yet
2009-07-12T16:28:04  <ThomasWaldmann> so, what's the problem? make it one :)
2009-07-12T16:28:13  <dennda> Havn't yet found out how
2009-07-12T16:28:19  <dennda> Havn't looked, though :-)
2009-07-12T16:28:39  <ThomasWaldmann> yeah, that's often a reason for not finding out :D
2009-07-12T16:29:03  <ThomasWaldmann> i guess you want to look into multiconfig
2009-07-12T16:29:09  <dennda> ok, I will
2009-07-12T16:29:19  <dennda> just need to make a teapot glow before I can do that
2009-07-12T16:37:44  <dennda> I hate page
2009-07-12T16:41:21  <dennda> Do I need to understand why the heck self._meta = self._rev?
2009-07-12T16:42:50  <dennda> I wonder what changeset broke this
2009-07-12T16:43:38  <ThomasWaldmann> a revision is dict-like and the dict is meta
2009-07-12T16:44:15  <dennda> ah indeed %-)
2009-07-12T16:44:17  <dennda> thanks
2009-07-12T16:44:20  <dennda> now I know
2009-07-12T16:44:35  <ThomasWaldmann> dennda: btw, was it intended or rather accidental that destroy_item gets item obj (not item name) and destroy_revision gets revision obj (and not item and revno)?
2009-07-12T16:45:05  <ThomasWaldmann> btw, some @param ... etc. there would be good
2009-07-12T16:45:36  <dennda> Why does that matter?
2009-07-12T16:45:54  <ThomasWaldmann> ease of use?
2009-07-12T16:46:27  <ThomasWaldmann> not sure though, that's why I am asking
2009-07-12T16:46:42  <dennda> Item.destroy() and Revision.destroy() both accept no parameters
2009-07-12T16:46:58  <dennda> They just pass themselves to the corresponding backend methods
2009-07-12T16:49:21  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6050:8b2f87927a84 2.0-storage/MoinMoin/storage/backends/acl.py: storage: pep8 fix
2009-07-12T16:49:24  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6051:43422ca07319 2.0-storage/MoinMoin/ (Page.py items/__init__.py storage/backends/acl.py): storage: Fix for recent crash. Special name lookup behaviour via __getattr__ sucks.
2009-07-12T16:51:30  <ThomasWaldmann> also i am wondering about the level where destroy (item/rev) is implemented
2009-07-12T16:52:11  <dennda> Why?
2009-07-12T16:52:15  <ThomasWaldmann> it is currently a method of the entity being destroyed (kind of self-destruct)
2009-07-12T16:52:55  <ThomasWaldmann> wondering about whether it should be a method of the container
2009-07-12T16:53:24  <dennda> That's why I suggested harakiri :-)
2009-07-12T16:53:38  <dennda> Well, I don't see why it has to be a method of the container
2009-07-12T16:53:54  <dennda> I think this way is more easy, but you may convince me otherwise if you have a good technical argumentation
2009-07-12T16:54:57  *** amartani has joined #moin-dev
2009-07-12T16:55:21  <ThomasWaldmann> i just was wondering about whether destroy sth shouldn't be at same level as create sth
2009-07-12T16:55:55  <dennda> just to make it symmetrical?
2009-07-12T16:56:05  <dennda> this way you can't try to destroy something that doesn't actually exist
2009-07-12T16:56:10  <ThomasWaldmann> (of course create can't be implemented elsewhere because there is nothing)
2009-07-12T16:56:14  <dennda> you don't need to pass params, etc
2009-07-12T16:56:31  <ThomasWaldmann> yes, for symmetry
2009-07-12T16:57:12  <dennda> 'Symmetry' doesn't count as being a technical concern :-)
2009-07-12T16:57:29  <dennda> ok down to 26 failing tests again
2009-07-12T16:58:01  <dennda> someone gotta pay johill and pawel to fix their backends
2009-07-12T16:58:50  <ThomasWaldmann> i am currently looking at the fs backend
2009-07-12T16:59:14  <dennda> sweet
2009-07-12T17:05:57  <ThomasWaldmann> dennda: there needs to be an exception definition in the api docs for when you try to destroy a nonexistent rev
2009-07-12T17:09:22  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6052:83ac05cb69f6 2.0-storage/MoinMoin/config/multiconfig.py: storage: Make destroy a proper ACL privilege. You must have the 'destroy' privilege in order to invoke Item.destroy() or Revision.destroy(). This should not be confused with delete.
2009-07-12T17:09:24  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6053:27cce5e44744 2.0-storage/MoinMoin/storage/_tests/test_middleware_acl.py: storage: Testcase: Unprotected item is exposed via rev.item
2009-07-12T17:09:26  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6054:533eb18a0e02 2.0-storage/MoinMoin/storage/backends/acl.py: storage: Don't expose unprotected item via rev.item
2009-07-12T17:10:12  <dennda> ThomasWaldmann: You mean if somebody got an old instance of a deleted rev floating around?
2009-07-12T17:10:55  <ThomasWaldmann> or it was killed in another process?
2009-07-12T17:11:06  <dennda> That's what I mean
2009-07-12T17:11:10  <ThomasWaldmann> yeah
2009-07-12T17:11:26  <dennda> NoSuchItemError / NoSuchRevisionError imho
2009-07-12T17:13:06  <dennda> perhaps you could even silently ignore that
2009-07-12T17:13:36  <dennda> you wanted to get rid of the stuff anyways and somebody else has already taken care of deleting the garbage
2009-07-12T17:16:11  <ThomasWaldmann> yes, maybe we should rather care about the other case: when destroying didn't work
2009-07-12T17:16:17  <dennda> use-case for knowing if somebody has already thrown the stuff out?
2009-07-12T17:16:22  <dennda> define didn't work
2009-07-12T17:16:52  <dennda> "didn't work" as in "hg backend just can't"?
2009-07-12T17:17:11  <ThomasWaldmann> or permission problems or whatever
2009-07-12T17:17:53  <dennda> hm if you don't have permission to delete (write), how would you've created it in the first place?
2009-07-12T17:18:28  <dennda> hhm well may happen
2009-07-12T17:20:43  <ThomasWaldmann> people are very creative with fscking up permissions
2009-07-12T17:22:13  <dennda> we have MoinMoin.storage.error.AccessError already
2009-07-12T17:22:40  <dennda> is that enough or should it be more specific?
2009-07-12T17:23:17  <dennda> http://www.dict.cc/?s=destroyal
2009-07-12T17:23:17  <dennda> lol
2009-07-12T17:24:11  <ThomasWaldmann> hehe
2009-07-12T17:24:12  <dennda> CouldNotDestroyError?
2009-07-12T17:24:55  <dennda> ErasureError?
2009-07-12T17:25:45  <dennda> ItemDidNotDetonateError?
2009-07-12T17:26:03  <ThomasWaldmann> MacGyverError
2009-07-12T17:26:46  <dennda> ok your suggestion sucks even more :-)
2009-07-12T17:26:58  <dennda> I'll go for class CouldNotDestroyError(AccessError)
2009-07-12T17:30:08  <dennda> just to make it clear: we do not want to raise that error if the deletion has already taken place?
2009-07-12T17:30:22  <dennda> and we just want to fail destroy() silently in that case?
2009-07-12T17:30:41  <dennda> *make destroy fail
2009-07-12T17:37:05  <ThomasWaldmann> hmm, no, we don't fail silently at the storage level
2009-07-12T17:37:23  <ThomasWaldmann> (some higher level may decide to do so)
2009-07-12T17:37:38  <dennda> use case for not failing silently at storage level?
2009-07-12T17:38:09  <ThomasWaldmann> someone trying to destroy something that is not there?
2009-07-12T17:39:21  <dennda> that's not a proper use case
2009-07-12T17:39:34  <dennda> he wanted to delete it, it's already deleted, he's happy
2009-07-12T17:39:53  <ThomasWaldmann> it could also be the case that it never had existed
2009-07-12T17:40:10  <dennda> no
2009-07-12T17:40:20  <dennda> because then get_item or get_revision would have failed earlier
2009-07-12T17:40:44  <ThomasWaldmann> sure? :)
2009-07-12T17:41:05  <dennda> How do you want to invoke a method on an object that you don't have?
2009-07-12T17:41:50  * dreimark my network is a bit unstable currently
2009-07-12T17:43:08  <ThomasWaldmann> ok
2009-07-12T17:43:49  <ThomasWaldmann> so we can ignore that as long as it is on that level
2009-07-12T17:43:59  <dennda> on what level? storage?
2009-07-12T17:44:13  <dennda> or destroy not being implemented symmetrically to create?
2009-07-12T17:48:52  <ThomasWaldmann> the latter
2009-07-12T17:49:32  <dennda> i agree then
2009-07-12T17:50:08  <CIA-78> Bastian Blank <bblank@thinkmo.de> default * 6610:1cf1e18a21ac 2.0-storage-dom-bblank/MoinMoin/util/_tests/test_iri.py: Tests for Iri - Update quoting tests
2009-07-12T17:50:10  <CIA-78> Bastian Blank <bblank@thinkmo.de> default * 6611:34e51d2ea7f4 2.0-storage-dom-bblank/MoinMoin/util/ (_tests/test_iri.py iri.py): Iri - Support illegal sequences in input
2009-07-12T18:02:00  <xorAxAx> meeting time!
2009-07-12T18:02:34  <xorAxAx> amartani: dennda: devilsadvocate: dimazest: dreimark: waldi: ThomasWaldmann -- lets begin
2009-07-12T18:02:41  <xorAxAx> first student, please paste
2009-07-12T18:03:15  <dimazest> LAST: Formatters are used instead of regexps to get group and dict definitions from wiki pages. Use of "wikidicts" cache arena was removed.
2009-07-12T18:03:18  <dimazest> NEXT: write configuration snippets, update Groups2009 wikipage.
2009-07-12T18:03:21  <dimazest> BLOCKERS: no
2009-07-12T18:04:26  <xorAxAx> any questions, mentor?
2009-07-12T18:04:34  <xorAxAx> otherwise, next student please paste
2009-07-12T18:04:53  <dreimark> ok
2009-07-12T18:05:18  <amartani> LAST: Show last saved version ("preview"). Button to activate mobwrite. Stop syncing when server is stopped.
2009-07-12T18:05:22  <amartani> NEXT: ACL checking, locking simple editor when mobwrite is being used.
2009-07-12T18:05:27  <amartani> BLOQUERS: None.
2009-07-12T18:05:56  <xorAxAx> amartani: that doesnt sound like tasks for a full week
2009-07-12T18:06:23  <xorAxAx> i havent reviewed your code but hope to find some time today
2009-07-12T18:07:06  <xorAxAx> amartani: dont you want to do more tasks?
2009-07-12T18:07:23  <dennda> umm... acl checking?
2009-07-12T18:07:28  <ThomasWaldmann> (and that doesn't sound like  a week for dimazest either)
2009-07-12T18:07:44  <xorAxAx> indeed
2009-07-12T18:07:51  <dennda> I don't know any of your code or your task, but didn't we want to get rid of those?
2009-07-12T18:08:09  <dennda> perhaps talk to me/ThomasWaldmann later
2009-07-12T18:08:13  <amartani> xorAxAx: good, I think it needs a review. also, I was thinking about moving some things I'm doing only for mobwrite to be used on other places..
2009-07-12T18:08:29  <amartani> eg. preview without exiting editor
2009-07-12T18:08:46  <xorAxAx> amartani: we can talk about it later (after the first part of this meeting)
2009-07-12T18:08:49  <xorAxAx> dennda: please paste
2009-07-12T18:08:53  <dennda> LAST: Easier storage configuration (just one line in the simplest case); Migration script 1.7, 1.8, 1.9 -> 2.0; Documentation for users/devs; Storage API now has methods for complete Item/Revision erasure; Lots of fixes/refactorings
2009-07-12T18:08:57  <dennda> Next: Finnish ACL privs finally; Improve docs; Working System Pages
2009-07-12T18:09:02  <dennda> Blockers: None
2009-07-12T18:09:38  <ThomasWaldmann> dennda: where is the docs?
2009-07-12T18:09:54  <dennda> HelpOnStorageConfiguration / HelpOnStorageDevelopment
2009-07-12T18:10:06  <dennda> updated the former / wrote the latter
2009-07-12T18:10:13  <dennda> unfinnished as of now
2009-07-12T18:10:18  <xorAxAx> "Development"?
2009-07-12T18:10:28  <dennda> well for developers
2009-07-12T18:10:39  <dennda> e.g. for people who want to implement MyFancyBackend
2009-07-12T18:10:49  <waldi> help and development is a weird combination
2009-07-12T18:11:03  <xorAxAx> indeed
2009-07-12T18:11:10  <dennda> s/help/introduction/ ?
2009-07-12T18:11:20  <xorAxAx> its not a systempage, it fits into the moin wiki
2009-07-12T18:11:33  <ThomasWaldmann> the dev page ends with ...
2009-07-12T18:11:40  <xorAxAx> MoinDev, dennda
2009-07-12T18:11:43  <dennda> ThomasWaldmann: indicating its unfinnished state
2009-07-12T18:11:44  <dreimark> remove the HelpOn then
2009-07-12T18:11:55  <dennda> ok
2009-07-12T18:12:00  <xorAxAx> devilsadvocate: please paste
2009-07-12T18:12:10  <waldi> dennda: and the language of finnland is finnish, you're tasks are unfinished
2009-07-12T18:12:15  <devilsadvocate> LAST : Worked on the installer. Made some headway, all the potential blockers ironed out. The only thing with question marks is crossplatform testing. Working on the admin backend too, the admin interface itself is not touched yet.
2009-07-12T18:12:15  <devilsadvocate> NEXT : Finish the installer. Finish the admin backend. Both need one last push to complete. The admin interface can be started soon after that.
2009-07-12T18:12:15  <devilsadvocate> BLOCKERS : Some decisions need to be made, i do not think i am qualified to make those decisions.
2009-07-12T18:12:42  <xorAxAx> ok, no further questions
2009-07-12T18:12:52  <xorAxAx> i hereby declare part two of the meeting :)
2009-07-12T18:12:56  <dennda> waldi: I looked exactly that up a few weeks ago. Must have confused the outcome of my research. Thanks %-)
2009-07-12T18:14:40  <dennda> So it should be MoinDev/StorageDevelopment as soon as it's finished and 2.0 is out?
2009-07-12T18:15:18  <ThomasWaldmann> yes, for example
2009-07-12T18:15:21  <xorAxAx> why not before?
2009-07-12T18:15:24  <dreimark> it must depend on 2.0 is out. just add a note that it depends on your repo
2009-07-12T18:15:30  <dreimark> +not
2009-07-12T18:15:37  * xorAxAx takes a shower
2009-07-12T18:15:46  <ThomasWaldmann> the Help pages we distribute with moin are rather for wiki users, not developers
2009-07-12T18:16:27  <dennda> ok
2009-07-12T18:17:27  <ThomasWaldmann> devilsadvocate: btw, nice that you finally found some time to attend the meeting and work on your project
2009-07-12T18:18:04  <devilsadvocate> ThomasWaldmann: sorry i wasnt here last week. had some network issues that evening
2009-07-12T18:18:14  <devilsadvocate> but yeah, i know what you mean
2009-07-12T18:18:37  <ThomasWaldmann> but I don't see that "finishing" thing as your posted in your NEXT:
2009-07-12T18:19:46  <devilsadvocate> i ran into some hiccups along the way. i left the obvious stuff for later and decided to iron them out first
2009-07-12T18:19:56  <devilsadvocate> th hiccups
2009-07-12T18:19:58  <devilsadvocate> the*
2009-07-12T18:20:43  <devilsadvocate> but yes, i did not put in as much time as is required of me.
2009-07-12T18:22:27  <ThomasWaldmann> well, it looks like that problem will be solved soon
2009-07-12T18:22:44  <devilsadvocate> so it will
2009-07-12T18:23:05  <ThomasWaldmann> amartani: you tested text/mobwrite editor without js?
2009-07-12T18:24:45  <amartani> ThomasWaldmann: no, just without enabling it. Will do it..
2009-07-12T18:26:11  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6055:754195cf9846 2.0-storage/MoinMoin/storage/error.py: storage: Introduce CouldNotDestroyError
2009-07-12T18:26:12  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6056:08abef6f1457 2.0-storage/MoinMoin/storage/backends/memory.py: storage: MemoryBackend: In case item/revision.destroy is invoked on an item/rev that has already been destroyed we fail silently
2009-07-12T18:26:14  <CIA-78> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6057:706d29de6b36 2.0-storage/MoinMoin/storage/__init__.py: storage: API docs: Elaborate destroy methods' docstrings
2009-07-12T18:26:26  <ThomasWaldmann> when using a combined text/mobwrite editor, it is important that it doesn't fsck up when there is no js support at the client
2009-07-12T18:26:46  <dennda> amartani: what did you mean with acl checking? use case?
2009-07-12T18:27:13  <ThomasWaldmann> dennda: maybe not offering editor when user may not write?
2009-07-12T18:27:48  <dennda> ThomasWaldmann: Don't we already have that? Or is there a special "collaborate!" button?
2009-07-12T18:28:00  <dennda> if that's the case then I will shut up
2009-07-12T18:28:29  <ThomasWaldmann> the editor code in 2.0 is currently rather simple, I killed most of the complicated stuff it had in 1.9
2009-07-12T18:29:15  <amartani> dennda: and garantee they can't access the temporary texts I'm storing..
2009-07-12T18:29:30  <ThomasWaldmann> but that was rather to make it easier to work with and to have a cleaner reimplementation, not because we do not need all that code
2009-07-12T18:31:05  <dennda> ok
2009-07-12T18:31:32  <dennda> anyway, gotta clean this room. looks like room.destroy() currently :-)
2009-07-12T18:32:20  <ThomasWaldmann> dimazest: please update wiki page with next week plan
2009-07-12T18:32:45  <ThomasWaldmann> (maybe including greedy vs. lazy base classes?)
2009-07-12T18:33:13  <dimazest> ThomasWaldmann: do i need to do sqla backend?
2009-07-12T18:33:56  <dimazest> it is not that much work left, i think soon i'll start working on xapian serach
2009-07-12T18:35:32  <dreimark> dimazest:wait till dennda is back, I think that it would be best done in 2.0 but there isn't your group/dict code yet
2009-07-12T18:35:59  <ThomasWaldmann> well, I think it would be good to have at least the greedy/lazy stuff and sqla would be an application for it
2009-07-12T18:36:22  <ThomasWaldmann> (and less complicated than e.g. ldap)
2009-07-12T18:36:53  <dreimark> indeed
2009-07-12T18:36:56  <dennda> I'm still around
2009-07-12T18:37:00  <dennda> for some time at least
2009-07-12T18:37:08  <dimazest> ThomasWaldmann: ok, so i need to talk with denna how to use sqla
2009-07-12T18:37:46  <dennda> Please explain the problem as easy as possible. I have absolutely no idea what you're doing with sqla and reading Groups2009 didn't really help
2009-07-12T18:38:45  <dimazest> dennda: i have not used sqla yet
2009-07-12T18:39:30  <dimazest> the idea is to write a backend which gives access to group definitions, which is stored in a database via sqla
2009-07-12T18:39:42  <dennda> what is a group definition?
2009-07-12T18:40:01  <dennda> ('Admins', ('Peter', 'Paul'))?
2009-07-12T18:40:15  <dimazest> yes
2009-07-12T18:42:36  <dennda> How are group definitions stored in moin < 2.0?
2009-07-12T18:43:25  <dimazest> on wikipages, e.g. http://moinmo.in/SystemPagesGroup
2009-07-12T18:44:06  <dennda> ok, so they are stored where the pages are stored
2009-07-12T18:44:07  <dimazest> or in a dictionary, which is defined in a config file
2009-07-12T18:44:36  <dennda> And your idea was to write a backend that just stores such group definitions now?
2009-07-12T18:45:17  <dimazest> now? i didn't understand
2009-07-12T18:46:14  <ThomasWaldmann> yes, i guess that was the idea
2009-07-12T18:46:26  <dennda> very bad idea imho
2009-07-12T18:46:29  <ThomasWaldmann> of course ldap would make more practical sense
2009-07-12T18:46:44  <dennda> we already have backends you can use to store those things
2009-07-12T18:47:13  <ThomasWaldmann> dennda: you are confusing it
2009-07-12T18:47:27  <dennda> then please elaborate :-)
2009-07-12T18:47:56  <ThomasWaldmann> of course if you store a group definition on a wiki page, it will (in 2.0) use all storage backends available
2009-07-12T18:48:09  <ThomasWaldmann> but for the user, it will be just a wiki page
2009-07-12T18:48:26  <dennda> .oO(or perhaps a proper dialog)
2009-07-12T18:48:53  <ThomasWaldmann> but groups could also be defined somewhere else, like config, ldap, sql, ...
2009-07-12T18:49:28  <dreimark> (smmiliar to auth)
2009-07-12T18:50:13  <ThomasWaldmann> see user auth: can be done using user backend in 2.0 or can be done against ldap, sql, php session, http auth...
2009-07-12T18:50:16  <dennda> to me that sounds like we will have data, user, groups backends and special backends that you can use for groups but not for data/user
2009-07-12T18:50:37  <dennda> an uml diagram would help :-)
2009-07-12T18:51:44  <ThomasWaldmann> dennda: i am not sure an ldap admin would be happy if we access his holy directory r/w and dump user profiles into it :)
2009-07-12T18:52:08  <dimazest> :)
2009-07-12T18:52:31  * dreimark is not sure if it would be in total easier to merge 1.9-
2009-07-12T18:52:32  <dreimark> -groups-dmilajevs into 1.9 and then in 2.0-storage and to continue with this task there
2009-07-12T18:52:51  <ThomasWaldmann> but of course he want moin to authenticate users against ldap and if there are group definitions in ldap, one can also reuse them instead of duplicating them onto wiki pages
2009-07-12T18:53:18  <dennda> Maybe I misunderstood. What makes a group backend special?
2009-07-12T18:54:21  <dreimark> you can have different ones in a line.
2009-07-12T18:54:34  <dreimark> e.g. [config, wiki, ldap]
2009-07-12T18:54:50  <dreimark> or you could ommit the wiki pages because all is done in config
2009-07-12T18:55:30  <dreimark> if you don't use a wikipage u need to map the common "wiki" definition of groups to the backend
2009-07-12T18:55:55  <dreimark> and a database in ldap can be 100K of users
2009-07-12T18:55:55  <ThomasWaldmann> there are different kinds of group backends
2009-07-12T18:56:27  <ThomasWaldmann> one is wiki user editable groups on wiki pages
2009-07-12T18:56:41  <ThomasWaldmann> another is groups just defined by an admin in the config
2009-07-12T18:57:04  <ThomasWaldmann> another is reusing existing group defs somewhere in a r/o way
2009-07-12T18:57:31  <ThomasWaldmann> (likely from same source as auth is done)
2009-07-12T18:57:37  <dennda> but there is a common interface, yes?
2009-07-12T18:57:52  <ThomasWaldmann> yes, dimazest implemented that
2009-07-12T18:59:24  <ThomasWaldmann> as already noted earlier today, just having groups in sqla is maybe not of much practical use.
2009-07-12T18:59:48  <dennda> Where is that common interface defined?
2009-07-12T19:00:07  <ThomasWaldmann> but we could also have an auth method authenticating users against user/password data stored in sqla
2009-07-12T19:01:08  <dimazest> dennda: http://hg.moinmo.in/moin/1.9-groups-dmilajevs/file/982f706482e7/MoinMoin/datastruct/backends/__init__.py#l22
2009-07-12T19:01:31  <ThomasWaldmann> still a bit artificial, but such a db maybe could get created by some simple script that reads the data from somewhere else.
2009-07-12T19:01:47  <dimazest> and http://hg.moinmo.in/moin/1.9-groups-dmilajevs/file/982f706482e7/MoinMoin/datastruct/backends/__init__.py#l117
2009-07-12T19:05:52  <devilsadvocate> fwiw the 'standard' way of doing stuff with ldap is an ou=people with the 'user profiles' and ou='blah' for blah related info, with a dc for each user specifying an AssociatedName linking it to the 'user account' in ou=people
2009-07-12T19:17:11  <dreimark> and?
2009-07-12T19:18:21  <devilsadvocate> so there should be no reason to go in and fiddle with the holy user db
2009-07-12T19:18:44  <devilsadvocate> unless you are creating users who dont exist before, in which case the admin should not mind
2009-07-12T19:19:17  <devilsadvocate> if he is giving you that kind of access anyway
2009-07-12T19:23:14  <dreimark> a wiki has more than one group
2009-07-12T19:23:43  <dreimark> and nested groups
2009-07-12T19:24:10  <devilsadvocate> if the groups are systemwide, then you should not be touching them anyway
2009-07-12T19:24:22  <devilsadvocate> if they are moin specific, then you should have them within a moin ou
2009-07-12T19:24:30  <dreimark> no
2009-07-12T19:25:03  <dreimark> thay don't crea e a new moin ou
2009-07-12T19:25:55  <devilsadvocate> when they dont create a moin ou thats when they are using systemwide groups
2009-07-12T19:26:17  <devilsadvocate> in which case that will be configured by some ldap interface, not moin itself
2009-07-12T19:27:40  <devilsadvocate> thats what we do here, at any rate
2009-07-12T19:33:32  <dreimark> how much users do you have?
2009-07-12T19:34:06  *** amartani_ has joined #moin-dev
2009-07-12T19:44:01  *** amartani has quit IRC
2009-07-12T19:47:34  <CIA-78> Alexandre Martani <amartani AT gmail DOT com> default * 6109:cc6e7dbb8032 2.0-storage-editor-amartani/MoinMoin/ (action/mobwrite.py items/__init__.py): Real-time editor: Don't override modify anymore, so simple editor works when client has no js.
2009-07-12T19:51:04  <amartani_> does anyone knows what EOFError could be?
2009-07-12T19:51:13  <amartani_> like this: http://paste.pocoo.org/show/127952/
2009-07-12T19:55:28  <ThomasWaldmann> amartani_: i guess you have to look into werkzeug
2009-07-12T19:59:04  <devilsadvocate> about 4000
2009-07-12T19:59:15  <devilsadvocate> univ. ldap
2009-07-12T19:59:49  <devilsadvocate> when we were setting it up we spent a lot of time trying to figure out what people did normally
2009-07-12T20:00:00  <devilsadvocate> that was the consensus we had reached
2009-07-12T20:01:03  <amartani_> ThomasWaldmann: will look into it, thanks
2009-07-12T20:02:12  <devilsadvocate> its very rarely that people add moin specific stuff to user profiles themselves. we didnt check for moin itself but we did for a bunch of other things
2009-07-12T20:02:16  <ThomasWaldmann> devilsadvocate: if you like to help with moin ldap groups, you could just make some wiki page about how usually group infos are stored in ldap
2009-07-12T20:02:33  <ThomasWaldmann> (maybe giving some practical examples)
2009-07-12T20:02:36  <devilsadvocate> ok
2009-07-12T20:19:07  *** amartani_ has quit IRC
2009-07-12T21:29:33  <ThomasWaldmann> dimazest: reimar and me are discussing about how to proceed with groups
2009-07-12T21:31:04  <ThomasWaldmann> sqla or some other ideas for groups don't look half as attractive/practically usable as ldap groups
2009-07-12T21:31:05  <dimazest> ThomasWaldmann: good. what are your ideas?
2009-07-12T21:31:23  <dimazest> that's true
2009-07-12T21:32:03  <ThomasWaldmann> the problem with sqla is that it is somewhat artifical and an isolated moin thing
2009-07-12T21:33:10  <ThomasWaldmann> pwd/grp/spwd can't be used for auth, so not much point in using them for groups. and it would also be greedy.
2009-07-12T21:34:18  <ThomasWaldmann> melita tried last year to do the ldap stuff, I helped a bit by creating a ldap test infrastructure.
2009-07-12T21:34:59  <ThomasWaldmann> but I didn't recently look at that stuff, so one should have a look whether that works as it should.
2009-07-12T21:36:01  <ThomasWaldmann> (you just need a slapd binary installed and, at least for ubuntu, disable apparmor)
2009-07-12T21:36:45  <dimazest> ThomasWaldmann: may be we can postpone creation of new backends, since it needs additional work
2009-07-12T21:37:22  <dimazest> i can do xapian related work, and after that complete needed groups backends
2009-07-12T21:37:39  <ThomasWaldmann> so, the remaining open questions are "how do ldap groups look like in practice?" and "do you think you could do that?" :)
2009-07-12T21:38:06  <dimazest> by posponing i do not mean taha i won't finish documantation, snippets and related things
2009-07-12T21:38:10  <ThomasWaldmann> the problem is that without some lazy stuff, the group thing is not really finished
2009-07-12T21:38:56  <dimazest> ThomasWaldmann: then i can do some lazy backend, which is based on dictionary (similar to config backend)
2009-07-12T21:39:37  <dimazest> but backend doesn't return whole dictionary, only gives members on request...
2009-07-12T21:40:25  <dimazest> it is even more artificial, but easier to implement
2009-07-12T21:40:33  <ThomasWaldmann> ok, that's another possibility. would be a bit artificial also (because we then have 2 config backends), but would work.
2009-07-12T21:40:36  <dimazest> so it will be more research backend
2009-07-12T21:41:14  <dimazest> and there will be api, on which ldap backend can be based
2009-07-12T21:41:54  <ThomasWaldmann> ok, sounds like a good plan. dreimark, what do you think?
2009-07-12T21:43:25  <dreimark> dimazest: ThomasWaldmann I agree
2009-07-12T21:44:29  <ThomasWaldmann> that also gives us some time to motivate some ldap users to write a wiki page with enough information about ldap groups (for the ldap clueless :)
2009-07-12T21:44:46  <ThomasWaldmann> waldi: devilsadvocate: ^^
2009-07-12T21:44:47  <dimazest> just to sum up and be celar: the next task for me is to implement lazy group backend based on dictionary similar to existing config backend
2009-07-12T21:45:20  <ThomasWaldmann> yes, additionally to your NEXT: stuff
2009-07-12T21:45:30  <dimazest> ok
2009-07-12T21:46:32  <ThomasWaldmann> i guess you could just "shift down" your current base class one level (to GroupGreedyFoo(GroupFoo))
2009-07-12T21:47:49  <ThomasWaldmann> and then move the generic parts of it up one level, while implementing GroupLazyFoo(GroupFoo)
2009-07-12T21:48:10  <dimazest> yes, I think there will be GroupBackend(object), GreedyGroupBackend(GroupBackend) and LazyGroupBackend(GroupBackend)
2009-07-12T21:48:28  <dimazest> have i undrstood right?
2009-07-12T21:48:41  <ThomasWaldmann> yes
2009-07-12T21:48:42  <dimazest> may be i need to think more on naming
2009-07-12T21:48:48  <dreimark> hehe
2009-07-12T21:54:41  <dreimark> dimazest: you may want to join moin too. sometimes there are some interesting user questions
2009-07-12T21:54:52  <dreimark> and some people doing ldap
2009-07-12T21:55:00  <dreimark> #m
2009-07-12T22:15:08  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 6058:36bd593ae3cb 2.0-storage/MoinMoin/storage/backends/fs.py: fs backend exceptions: cosmetic fixes, always use repr for item names
2009-07-12T22:17:32  <CIA-78> Bastian Blank <bblank@thinkmo.de> default * 6612:e699cec844a4 2.0-storage-dom-bblank/MoinMoin/util/iri.py: Iri - Cleanup relative path code
2009-07-12T22:17:34  <CIA-78> Bastian Blank <bblank@thinkmo.de> default * 6613:ccd172303a18 2.0-storage-dom-bblank/MoinMoin/util/iri.py: Iri - Remove quoting exception for authority
2009-07-12T22:19:34  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 6059:26d493c0dbe2 2.0-storage/MoinMoin/storage/backends/fs.py: fs backend: added destroy methods
2009-07-12T22:25:35  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 6060:e1caaa651f89 2.0-storage/MoinMoin/storage/_tests/test_backends_hg.py: hg backend: skipping the tests, they show broken behaviour, the hg backend still misses the destroy item/revision methods
2009-07-12T22:27:13  <ThomasWaldmann> TheSheep: ^^
2009-07-12T22:27:34  <dreimark> bbl
2009-07-12T22:40:22  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 6061:c1b6ef9cd730 2.0-storage/MoinMoin/ (3 files in 2 dirs): reduce the number of system pages needed for tests, do not use system pages we do not have any more
2009-07-12T22:53:54  <ThomasWaldmann> dennda: still awake?
2009-07-12T23:10:51  * ThomasWaldmann builds a UI of destruction
2009-07-12T23:23:55  <ronny> can i has red buttons
2009-07-12T23:26:03  * ThomasWaldmann has something better
2009-07-12T23:26:39  <ronny> big red buttons?
2009-07-12T23:29:22  <CIA-78> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 6062:a91a93938bd9 2.0-storage/MoinMoin/ (items/__init__.py templates/show.html action/destroy.py): add destroy action + UI
2009-07-12T23:29:31  <ThomasWaldmann> ronny: see there ^^
2009-07-12T23:29:54  <ronny> hmm, seems like i should pull at some point

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