2008-06-25T00:00:17  <TheSheep> ?
2008-06-25T00:00:45  <TheSheep> ThomasWaldmann: yeah, I was about to bring my test setup back to the factory settings to make screenshots
2008-06-25T01:08:17  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3693:fc20a076aad0 1.8-wsgi-fkrupicka/MoinMoin/ (18 files in 5 dirs): Accomodate for consolidation of Request/Response
2008-06-25T01:08:20  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3694:b4acdce23cfa 1.8-wsgi-fkrupicka/MoinMoin/web/contexts.py: Group some functionality
2008-06-25T01:08:21  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3695:68bcf39ae1d3 1.8-wsgi-fkrupicka/MoinMoin/ (web/utils.py wsgiapp.py): General cleanups
2008-06-25T01:08:22  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3696:126559845d4b 1.8-wsgi-fkrupicka/MoinMoin/ (12 files in 5 dirs): Use Werkzeug-property names instead of old MoinMoin attribute names
2008-06-25T01:08:26  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3697:c659fd8d792d 1.8-wsgi-fkrupicka/MoinMoin/web/api.py: API descriptions for new interfaces and services
2008-06-25T01:08:27  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3698:a2709307da3d 1.8-wsgi-fkrupicka/MoinMoin/ (config/multiconfig.py web/session.py): New (sample) session service
2008-06-25T01:08:30  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3699:6246e8f813b7 1.8-wsgi-fkrupicka/MoinMoin/web/contexts.py: General cleanups: doc strings, granularity of mixins
2008-06-25T01:08:33  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3700:a030da8b2ec9 1.8-wsgi-fkrupicka/MoinMoin/web/session.py: Fixed: missing imports and falsely ported session middleware code
2008-06-25T01:08:36  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3701:5fdb6f984a54 1.8-wsgi-fkrupicka/MoinMoin/web/contexts.py: Property for session and dummy user object
2008-06-25T01:08:39  <CIA-52> Florian Krupicka <florian.krupicka@googlemail.com> default * 3702:105c5469ac05 1.8-wsgi-fkrupicka/MoinMoin/wsgiapp.py: Use session service in the WSGI app
2008-06-25T01:13:43  <CIA-52> Pawel Pacana <pawel.pacana@gmail.com> default * 4072:5465bb6c5bab 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: Removed commit() from test where it shouldn't be.
2008-06-25T01:13:47  <CIA-52> Pawel Pacana <pawel.pacana@gmail.com> default * 4073:f59a8519e86f 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: create_item, has_item compliant to API. Storing Items without Revisions.
2008-06-25T01:13:47  <CIA-52> Pawel Pacana <pawel.pacana@gmail.com> default * 4074:161d15bbd8dd 1.8-mercurialbackend-ppacana/MoinMoin/storage/ (_tests/test_backends.py backends/hg.py): Safely quoting Item names on filesystem. BackendTest typo fixed.
2008-06-25T01:13:49  <CIA-52> Pawel Pacana <pawel.pacana@gmail.com> default * 4075:e82054e1bf62 1.8-mercurialbackend-ppacana/MoinMoin/storage/ (_tests/test_backends.py backends/hg.py): _rename_item API compliance and improved docstring. Added more BackendTest rename tests. Naming convention fixes.
2008-06-25T01:17:50  <PawelPacana> dennda: please check out my test_backend.py and test_backend_hg.py, if you choose to merge with my repo and subclass BackendTest for your memory backend tests, we could benefit from better backend test codebase
2008-06-25T02:09:57  <CIA-52> Pawel Pacana <pawel.pacana@gmail.com> default * 4076:d045e2bb276b 1.8-mercurialbackend-ppacana/MoinMoin/storage/ (_tests/test_backends.py backends/hg.py): Added list_revisions tests. _create_revision and _list_revisions refactoring to comply with new storage API.
2008-06-25T02:17:03  <TheSheep> ThomasWaldmann: I was wondering if introducing a new smiley/icon, <?> for http://sheep.art.pl/misc/dialog-question.png would make sense?
2008-06-25T03:33:55  *** irc.freenode.net sets mode: +o ChanServ
2008-06-25T08:16:05  <gizmach> moin
2008-06-25T08:21:08  <dreimark_> moin gizmach
2008-06-25T08:21:44  <gizmach> dreimark_: I went to sleep but I'm writing all the stuff now
2008-06-25T08:22:22  <dreimark_> ok
2008-06-25T09:04:45  <gizmach> dreimark_: please take a look and see if you don't like something I wrote put and do I need to change Dict and DictBase
2008-06-25T09:11:48  <gizmach> http://redotheweb.com/2008/06/24/michael-vador-rocks/
2008-06-25T09:15:20  <dreimark_> gizmach: s/change (make is/change (make it/ ?
2008-06-25T09:15:43  <gizmach> hm.. yes
2008-06-25T09:18:38  <dreimark_>  s/is group/isgroup/
2008-06-25T09:19:13  <dreimark_> the text is easier to read if you do use some formatting rules e.g. teletype for method or function names in the text
2008-06-25T09:19:51  <dreimark_> e.g. `isgroup = group.search`
2008-06-25T09:19:55  <dreimark_> gizmach:
2008-06-25T09:20:59  <gizmach> dreimark_: ok sorry
2008-06-25T09:21:07  <dreimark_> s/list everywhere is needed./list everywhere it is needed./
2008-06-25T09:21:55  <dreimark_> my keyboard kills sometimes two letter words too and I'm trained to insert them automaticly
2008-06-25T09:25:52  <dreimark_> gizmach: do list the class,methods which have filter=isgroup
2008-06-25T09:26:43  <gizmach> huh?
2008-06-25T09:28:04  <johill> TheSheep: let pawel know that his lockref code isn't safe
2008-06-25T09:28:05  <dreimark_> do search for page_group_regex and filter=isgroup in the repository
2008-06-25T09:28:14  <johill> TheSheep: specifically, this:
2008-06-25T09:28:15  <johill>         if self._lockref and self._lockref():
2008-06-25T09:28:15  <johill>             return self._lockref()
2008-06-25T09:28:46  <dreimark_> gizmach: and give a list of other places where changes need to be done
2008-06-25T09:29:13  <gizmach> ah ok :)
2008-06-25T09:29:20  * dreimark_ has breakfast
2008-06-25T09:38:41  <fpletz> ThomasWaldman2: locking stuff is also noted, will look into it
2008-06-25T09:55:46  <PawelPacana> moin
2008-06-25T10:00:23  <johill> PawelPacana: you have a bug in your lockref code afaict
2008-06-25T10:00:29  <johill> if self._lockref and self._lockref():
2008-06-25T10:00:31  <johill>     return self._lockref()
2008-06-25T10:00:43  <johill> would get the ref twice, couldn't the GC kick in between those two?
2008-06-25T10:14:48  * gizmach is not here until 11
2008-06-25T10:20:33  <CIA-52> Byeongweon [tasyblue@gmail.com] default * 3649:3e5a2c8b6b3d 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/FCKeditor/_samples/ (77 files in 14 dirs): remove unnecessary fckeditor directory(_sample)
2008-06-25T10:20:33  <CIA-52> Byeongweon [tasyblue@gmail.com] default * 3650:d7364eb0f4d8 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/ (3 files in 3 dirs): add comment to fckeditor moinmoin select plugin.
2008-06-25T10:20:34  <CIA-52> Byeongweon [tasyblue@gmail.com] default * 3651:579699ec0c23 1.8-guieditor-mbyeongweon/wiki/htdocs/common/js/common.js: enable safari, opera browser use gui editor
2008-06-25T10:25:19  <ernestas> superuser = administrator?
2008-06-25T10:25:41  <xorAxAx> moin byeongweon
2008-06-25T10:26:07  <byeongweon> xorAxAx: hi~
2008-06-25T10:26:18  <dreimark_> ernestas: not really superuser is meant as one who can su user
2008-06-25T10:26:38  <xorAxAx> ernestas: its the most powerful user level
2008-06-25T10:26:54  <byeongweon> xorAxAx: I moved my house this monday.
2008-06-25T10:26:56  <dreimark_> ernestas: and he can use some more actions as a normal user, e.g. SystemAdmin
2008-06-25T10:26:56  <byeongweon> xorAxAx: so, I didn't come here few days.
2008-06-25T10:27:01  <xorAxAx> byeongweon: ah
2008-06-25T10:27:24  <xorAxAx> byeongweon: did you notice that we will have a meeting in 2.5 hours?
2008-06-25T10:27:40  <PawelPacana> johill: if it's a bug, then mercurial has plenty of it. just consider /usr/lib/python2.5/site-packages/mercurial/localrepo.py and lock()
2008-06-25T10:28:11  <byeongweon> xorAxAx: what I knwo is today is that day. isn't it?
2008-06-25T10:28:53  <xorAxAx> byeongweon: yes, today at 11:00 UTC, i.e. in 2.5 hours
2008-06-25T10:29:15  <xorAxAx> just  saying because i am not sure whether you saw the comment on the doodle page
2008-06-25T10:29:25  <byeongweon> xorAxAx: I already write that schedule my google calendar.
2008-06-25T10:29:31  <xorAxAx> good
2008-06-25T10:37:29  <PawelPacana> bbl
2008-06-25T10:52:01  <dreimark_> oh, has one already seen that when you interrupt loading of post data the url shows all the data similiar as get method?
2008-06-25T10:56:21  * gizmach is here
2008-06-25T10:57:22  * dreimark_ too
2008-06-25T11:01:21  <johill> dreimark_: ?
2008-06-25T11:08:14  <ThomasWaldman2> dreimark_: gizmach: looks like the wikidicts refactoring you want to do is largely based on inheritance (LdapGroup is-a Group).
2008-06-25T11:09:57  <ThomasWaldman2> please check if it wouldn't be more appropriate to create lowlevel backends for wiki, ldap, ... and then implement Group has-a backend (and those backends are given to group code by configuration / or on init)
2008-06-25T11:10:56  <zenhase> moin
2008-06-25T11:12:00  <ThomasWaldman2> hi zenhase
2008-06-25T11:12:36  <zenhase> uh, you multiplied
2008-06-25T11:12:48  <zenhase> are reincarnated
2008-06-25T11:12:51  <zenhase> s/are/or
2008-06-25T11:15:52  <xorAxAx> yeah, removing inheritance from wikidicts would make it cleaner i suppose
2008-06-25T11:16:01  <ThomasWaldmann> gizmach: if you have sw architecture questions about that, dennda and pawel are working on the storage backend that works like that
2008-06-25T11:16:16  <zenhase> hmm
2008-06-25T11:17:35  <johill> user/group storage will need an overhaul after this comes together
2008-06-25T11:18:17  <johill> imho it ought to be possible to actually store moin user data back into ldap
2008-06-25T11:18:29  <zenhase> uh
2008-06-25T11:18:55  <ThomasWaldmann> johill: yes, but not sure every admin would like moin editing his ldap data all the time
2008-06-25T11:19:26  <johill> ThomasWaldmann: obviously only if he configures the ldap user storage :)
2008-06-25T11:19:44  <zenhase> in my experience ldap-server setups are somewhat ... evolved over time (meaning stuff is put everywhere in a kindof uncoordinated way)
2008-06-25T11:20:02  <ThomasWaldmann> brb
2008-06-25T11:20:03  <zenhase> you don't really want to add to this, do you? :o
2008-06-25T11:20:15  <johill> heh
2008-06-25T11:20:31  <johill> well I'm not really sure about ldap but maybe other things are relevant
2008-06-25T11:21:04  <zenhase> in a carefully planned ldap-setup the hierarchy and arrangement of ldap-objects reflects the structure of the processes that use ldap
2008-06-25T11:21:35  <zenhase> this can be quite complex, so it would need handwritten code to ensure everything is put in the right place
2008-06-25T11:21:35  <johill> :)
2008-06-25T11:21:42  <johill> ok
2008-06-25T11:21:49  <zenhase> i don't think it's possible with config-options alone
2008-06-25T11:22:06  <zenhase> but perhaps a interface-definition for a component could be provided
2008-06-25T11:22:35  <zenhase> so that people using a complex setup with ldap and moin and want to store user information back into ldap, can write an appropiate plugin
2008-06-25T11:24:14  <johill> yeah maybe
2008-06-25T11:25:36  <zenhase> but let's see what gizmach comes up with :)
2008-06-25T11:27:48  <johill> PawelPacana: I don't fully understand the python GC but I'd think it's a bug
2008-06-25T11:28:37  <xorAxAx> you dont need to understand anything to know that relying on finalizing time, order or any other property is a bug :)
2008-06-25T11:28:45  <xorAxAx> in your application :)
2008-06-25T11:29:02  <johill> :)
2008-06-25T11:29:09  <johill> that's what I'm saying ;)
2008-06-25T11:29:22  <johill> it might be safe with the actual GC implementation though
2008-06-25T11:30:37  <PawelPacana> ok, i'll give it a deeper thought
2008-06-25T11:33:20  <CIA-52> Byeongweon [tasyblue@gmail.com] default * 3652:55444eae3fe5 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/ (3 files in 3 dirs): make image toolbar menu icon visible. find icon location and put that information to FCKToolbarItems.RegisterItem function
2008-06-25T11:33:47  <johill> PawelPacana: basically, you're checking whether there is a ref, then you throw it away and return whatever there is now, and it could be that now there is no ref any more
2008-06-25T11:34:20  <xorAxAx> byeongweon: can you check wheter can_use_gui_editor was copied somewhere from the fckeditor code?
2008-06-25T11:34:28  <johill> the proper way is to get the object, hold on to it (put it into a local var) check if there was an object and if so return it
2008-06-25T11:34:29  <xorAxAx> byeongweon: maybe its saner to call the original function
2008-06-25T11:35:37  <byeongweon> xorAxAx: ok, I'll check after have dinner :-)
2008-06-25T11:35:48  <ThomasWaldmann> xorAxAx: if that doesnt need huge js files transferred
2008-06-25T11:35:51  <gizmach> ThomasWaldmann: zenhase: here I am , but first let me think a bit
2008-06-25T11:36:01  <xorAxAx> ThomasWaldmann: yes
2008-06-25T11:40:48  <gizmach> brb
2008-06-25T11:40:59  <dreimark_> ThomasWaldmann: I've problems to get the amount of refactoring for "and then implement Group has-a backend"
2008-06-25T11:47:25  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3688:f905c2882d7d 1.8-dom-bblank/MoinMoin/converter2/creole_in.py:
2008-06-25T11:47:25  <CIA-52> Creole input converter - Remove discouraged blog-like line breaks
2008-06-25T11:47:25  <CIA-52> It is broken and there is no way to test it at all.
2008-06-25T11:48:51  <ThomasWaldmann> dreimark_: you'll maybe see it after there is a design for it
2008-06-25T11:50:26  <ThomasWaldmann> don't stick to "Group has-a backend" btw, could also be "GroupManager has-a backend" (or both)
2008-06-25T11:52:39  <dreimark_> zenhase: I start to like ldap and probably later on a config backend too, but currently I do see a quite easy way to have a group farming without having farmconfig. And for that possibility i think I would setup a ldap server and because it is for the wiki I do want then userdata changesable too.
2008-06-25T12:03:18  <ThomasWaldmann> waldi:        53         return ElementTree.Element(tag, attrib = attrib, children = children)
2008-06-25T12:03:28  <ThomasWaldmann> no spaces around = in that case
2008-06-25T12:04:27  <ThomasWaldmann> (same 1 line below)
2008-06-25T12:05:28  <ThomasWaldmann> having [] and {} as argument defaults will trigger some warnings from pylint&co
2008-06-25T12:06:29  <waldi> and they are correct in this case
2008-06-25T12:06:32  <johill> correctly too
2008-06-25T12:06:34  <waldi> err, no
2008-06-25T12:06:49  <waldi> ThomasWaldmann: i know the complications, default arguments are only instantiated once
2008-06-25T12:07:14  <johill> waldi: yeah, but it's quite error prone, I suggest just using =None as default and then "arg or {}"
2008-06-25T12:07:23  <waldi> hmm
2008-06-25T12:08:11  <zenhase> dreimark_: hmm yeah
2008-06-25T12:08:33  <zenhase> dreimark_: ldap users, ldap config, config editor application ... this sounds quite nice :)
2008-06-25T12:08:36  <waldi> in this case it needs to copy them anyway, so it is a "if bla: self.bla = bla[:]; else: self.bla = []
2008-06-25T12:08:48  <zenhase> dreimark_: moin goes enterprise ;)
2008-06-25T12:09:27  <waldi> dreimark_: enterprise is the buzzword for unusable ...
2008-06-25T12:09:35  <xorAxAx> zenhase: no, thats a step back from being enterprisey :) in the enterprisey world, everything is not so easy but you can make your system do what you want by the means of customization
2008-06-25T12:09:49  <ThomasWaldmann> or bloated :)
2008-06-25T12:10:05  <zenhase> i think one should clarify what one means with enterprisey :)
2008-06-25T12:10:15  <johill> or self.bla = bla and bla[:] or [] ;)
2008-06-25T12:10:19  <zenhase> i mean stuff actually useful for large installations
2008-06-25T12:10:32  <zenhase> tho most people mean complex when they say enterprisey
2008-06-25T12:10:44  <zenhase> which does not have to be that way :)
2008-06-25T12:10:57  <johill> zenhase: you can always invent new buzzwords
2008-06-25T12:10:57  <xorAxAx> i think its ok to keep [] and {} in the def args
2008-06-25T12:11:13  <johill> xorAxAx: I've fixed bugs with that in moin before iirc
2008-06-25T12:11:30  <xorAxAx> johill: well, he said that he needs to copy them anyway
2008-06-25T12:11:33  <xorAxAx> so i dont see your point
2008-06-25T12:11:34  <johill> clearly not everybody is aware of all the pitfalls
2008-06-25T12:11:51  <johill> well yeah, if they're strictly read-only it doesn't matter
2008-06-25T12:11:57  <johill> but then it doesn't really matter either way
2008-06-25T12:12:01  <ThomasWaldmann> and even if, you get constant whining of pylint
2008-06-25T12:12:09  <xorAxAx> ThomasWaldmann: thats not a reason
2008-06-25T12:12:10  <zenhase> yeah :)
2008-06-25T12:12:13  <xorAxAx> except if your first name is kurt
2008-06-25T12:12:17  <gizmach> re
2008-06-25T12:12:18  <zenhase> fixable with a py lint hint ;)
2008-06-25T12:12:21  <xorAxAx> and you are the openssl maintainer
2008-06-25T12:12:28  <johill> xorAxAx: plus, passing None is much more natural if you don't want the default
2008-06-25T12:12:31  <ThomasWaldmann> haha
2008-06-25T12:12:43  <zenhase> johill: what if None is a valid value? ;)
2008-06-25T12:12:52  <waldi> zenhase: object()
2008-06-25T12:12:52  <xorAxAx> zenhase: then you choose Ellipsis
2008-06-25T12:12:54  <zenhase> default = object()
2008-06-25T12:12:55  <johill> I mean, forget to use the default
2008-06-25T12:13:06  <zenhase> xorAxAx: ellipsis?
2008-06-25T12:13:14  <xorAxAx> zenhase: most important python object ever, Ellipsis
2008-06-25T12:13:23  <zenhase> xorAxAx: never heard of that :o
2008-06-25T12:13:45  <waldi> hmm, isn't that enough magic on one line? data = dict(((str(k), v) for k, v in match.groupdict().iteritems() if v is not None))
2008-06-25T12:13:48  <johill> anyway, personally I avoid object defaults because they tend to be error prone going forward, it's fine when the function is only used once and then breaks in farmconfig setups for example
2008-06-25T12:14:10  <zenhase> waldi: way to go, to make code less readable ;)
2008-06-25T12:14:23  <waldi> johill: None is an object, [] is one
2008-06-25T12:14:36  <johill> waldi: yeah, I should have said "mutable object"
2008-06-25T12:15:03  <xorAxAx> thats the metaobject axiom: you cannot have no object
2008-06-25T12:15:13  <xorAxAx> (cf. http://de.wikipedia.org/wiki/Metakommunikatives_Axiom )
2008-06-25T12:15:15  <waldi> ThomasWaldmann: will it also warn about ()?
2008-06-25T12:15:26  <johill> hopefully not
2008-06-25T12:15:27  <ernestas> what is "trust root"? cat it be translated as "trusted source" or smlr?
2008-06-25T12:15:38  <johill> ernestas: stupid openid terminology :/
2008-06-25T12:15:44  <ernestas> hmm :/
2008-06-25T12:15:50  <johill> ernestas: it's the beginning part of the trusted URL
2008-06-25T12:16:06  <johill> so if you say http://moinmo.in/ is a trust root you trust, then http://moinmo.in/asdf falls into it
2008-06-25T12:16:09  <xorAxAx> so it probably shouldnt be translated
2008-06-25T12:17:00  <ernestas> I see. ok then
2008-06-25T12:17:34  <johill> I dunno
2008-06-25T12:17:49  <johill> it's not really that fixed terminology
2008-06-25T12:18:10  <johill> it's just using "root" in a sense you wouldn't normally
2008-06-25T12:18:38  <xorAxAx> well, but if there is some non-english term and it doesnt match official openid tutorials, documentations, specifications, its bad
2008-06-25T12:18:56  <CIA-52> Byeongweon [tasyblue@gmail.com] default * 3653:8c04b4e35da3 1.8-guieditor-mbyeongweon/wiki/htdocs/common/js/common.js: browser compatibility check routine change with recent fckeditor's
2008-06-25T12:20:14  <johill> well it is really english
2008-06-25T12:20:19  <xorAxAx> byeongweon: "useless code, this code make each menu's icon disapear." - " FCKToolbarItems.RegisterItem('Smiley', new FCKToolbarButton
2008-06-25T12:20:22  <xorAxAx>   ('Smiley', FCKLang.InsertSmileyLbl, FCKLang.InsertSmiley, null, false, true));"
2008-06-25T12:20:26  <xorAxAx> byeongweon: so there are no smiley buttons currently?
2008-06-25T12:21:11  <TheSheep> moin
2008-06-25T12:21:37  <johill> like I said, it's just using the term "root" a bit oddly I guess
2008-06-25T12:21:49  <byeongweon> xorAxAx: no.
2008-06-25T12:22:05  <byeongweon> xorAxAx: all buttons are there.
2008-06-25T12:22:08  <xorAxAx> ok
2008-06-25T12:22:41  <xorAxAx> +linux.de if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 ) -- woah %-)
2008-06-25T12:22:58  <xorAxAx> s/linux.de/\t/
2008-06-25T12:23:06  <xorAxAx> weird js the IE likes
2008-06-25T12:23:26  <byeongweon> xorAxAx: we have meeting about 30 minutes after right?
2008-06-25T12:23:31  <xorAxAx> yes
2008-06-25T12:24:14  <byeongweon> xorAxAx: I find that code in fckedit.js file.
2008-06-25T12:24:27  <xorAxAx> byeongweon: yes, i know :)
2008-06-25T12:24:50  <xorAxAx> and its perfectly fine
2008-06-25T12:24:56  <xorAxAx> nevertheless IE is scary :)
2008-06-25T12:25:42  <TheSheep> isn't /*@cc_on!@*/ just a comment?
2008-06-25T12:25:48  <xorAxAx> TheSheep: not for ie
2008-06-25T12:25:55  <xorAxAx> ok, smileys are broken on opera
2008-06-25T12:26:18  <TheSheep> xorAxAx: another funny fact, in jscript (ie's version of js) the dicts are implemented as linked lists :)
2008-06-25T12:26:55  <byeongweon> xorAxAx: image button also broken on opera. :-)
2008-06-25T12:26:56  <xorAxAx> also on ff, so its not browser specific
2008-06-25T12:27:57  <xorAxAx> byeongweon: i added the smileys issue to http://moinmo.in/MoonByeongweon/SOC2008
2008-06-25T12:28:44  <byeongweon> ok, I will check that.
2008-06-25T12:31:08  <mitsuhiko> xorAxAx: what's that?
2008-06-25T12:31:17  <xorAxAx> mitsuhiko: what?
2008-06-25T12:31:23  <mitsuhiko> that comment
2008-06-25T12:31:45  <xorAxAx> mitsuhiko: i saw it here, its copied from fckeditor code: http://hg.moinmo.in/moin/1.8-guieditor-mbyeongweon/rev/8c04b4e35da3
2008-06-25T12:31:49  <ThomasWaldmann> xorAxAx: inserting a smiley should insert correct smiley url (not smiley wiki markup)
2008-06-25T12:31:55  <xorAxAx> ThomasWaldmann: why?
2008-06-25T12:32:08  <ThomasWaldmann> because it is a wysiwyg editor :)
2008-06-25T12:32:12  <xorAxAx> umm
2008-06-25T12:32:25  <xorAxAx> so roundtripping was never implemented?
2008-06-25T12:32:33  <ThomasWaldmann> it worked
2008-06-25T12:32:52  <xorAxAx> ThomasWaldmann: roundtripping only works if it inserts an image that is transformed to smiley markup and back
2008-06-25T12:33:01  <mitsuhiko> xorAxAx: that's not javascript, that's jscript :)
2008-06-25T12:33:07  <xorAxAx> mitsuhiko: yeah, obviously :)
2008-06-25T12:33:11  <ThomasWaldmann> xorAxAx: sure, that worked
2008-06-25T12:33:18  * dennda drops in
2008-06-25T12:33:30  <ThomasWaldmann> (if it doesn't work now, it got broken at some time)
2008-06-25T12:33:31  <xorAxAx> ThomasWaldmann: so its currently broken :)
2008-06-25T12:34:04  <mitsuhiko> wysiwyg editors suck ass
2008-06-25T12:34:07  <xorAxAx> byeongweon: probably you need to check how the dom looks like in the old and new dom editor to reason why the converter doesnt recognize it as a smiley
2008-06-25T12:34:08  <mitsuhiko> especially for wiki markup
2008-06-25T12:34:16  <xorAxAx> s/dom editor/fckeditor/
2008-06-25T12:34:36  <dennda> Weekly meeting in about half an hour
2008-06-25T12:34:49  <dennda> I just hope my laptop is fully charged. There's a thunderstorm coming up
2008-06-25T12:35:29  <byeongweon> xorAxAx: ok, in fact I'm doing that process now. :-)
2008-06-25T12:36:00  <xorAxAx> we also hope that it is charged even though we cannot look at your desktop panel, dennda
2008-06-25T12:36:02  <ThomasWaldmann> iirc that smiley detection in the converter was a bit weird anyway
2008-06-25T12:36:03  <xorAxAx> :-)
2008-06-25T12:37:34  <xorAxAx> mitsuhiko: does IE need anything special in a js file to recognize it?
2008-06-25T12:37:49  <mitsuhiko> xorAxAx: recognize it as what?
2008-06-25T12:37:53  <xorAxAx> as jscript
2008-06-25T12:37:56  <xorAxAx> and not as a comment
2008-06-25T12:38:17  <mitsuhiko> no, all javascript is interpreted as jscript in ie
2008-06-25T12:38:29  <mitsuhiko> but it supports vbscript too :)
2008-06-25T12:38:42  <dennda> xorAxAx: It's in my bag
2008-06-25T12:38:48  <xorAxAx> dennda: ah
2008-06-25T12:39:28  <mitsuhiko> xorAxAx: javascript and jscript are both emca script compatible mostly. but jscript doesn't support all the javascript extensions, neither does javascript support the jscript extensions
2008-06-25T12:40:23  <mitsuhiko> that's one of the reasons why the mozilla guys are writing screaming monkey
2008-06-25T12:41:39  <dennda> johill: Will you be around?
2008-06-25T12:41:56  <TheSheep> mitsuhiko: screaming?
2008-06-25T12:42:12  <mitsuhiko> TheSheep: that's tamarin for internet explorer
2008-06-25T12:42:20  <TheSheep> omh
2008-06-25T12:42:21  <TheSheep> omg
2008-06-25T12:42:28  <mitsuhiko> why omg?
2008-06-25T12:42:36  <TheSheep> great idea
2008-06-25T12:42:40  <xorAxAx> the name conveys the pain involved to use the activescripting interface probably :)
2008-06-25T12:42:41  <mitsuhiko> google wrote canvas for internet explorer, why not javascript for ie? :)
2008-06-25T12:42:56  <mitsuhiko> xorAxAx: yep :)
2008-06-25T12:43:19  <TheSheep> mitsuhiko: they wrote it in jscript?
2008-06-25T12:43:34  <xorAxAx> tamarin is anything but jscript
2008-06-25T12:43:35  <mitsuhiko> TheSheep: nope. that's a activescripting plugin
2008-06-25T12:43:38  <xorAxAx> its full of abc and forth :)
2008-06-25T12:44:10  * TheSheep is not up to date with windows technologies, last thing I remember is COM
2008-06-25T12:45:23  <TheSheep> mitsuhiko: but doesn't it make msie the more universal browser?
2008-06-25T12:45:42  <johill> dennda: yeah
2008-06-25T12:46:10  <mitsuhiko> TheSheep: what do you mean?
2008-06-25T12:46:37  <TheSheep> mitsuhiko: with msie and that plugin you can run both javascript and jscript
2008-06-25T12:47:13  <xorAxAx> TheSheep: tamarin is not an ms technology :)
2008-06-25T12:47:28  <TheSheep> xorAxAx: it's made using one
2008-06-25T12:47:30  <ThomasWaldmann> brb
2008-06-25T12:47:37  <xorAxAx> TheSheep: which one?
2008-06-25T12:47:41  <TheSheep> xorAxAx: the plugin, I mean
2008-06-25T12:47:51  <TheSheep> xorAxAx: activescripting, you just said so
2008-06-25T12:48:32  <mitsuhiko> TheSheep: mozilla has an extension system for scripting too, that's not really the point
2008-06-25T12:48:45  <mitsuhiko> nobody would write jscript if he can write javascript :)
2008-06-25T12:49:10  <TheSheep> mitsuhiko: I've heard that jscript had some parts of the browser api more comfortable, at least a few years ago
2008-06-25T12:49:25  <mitsuhiko> that wasn't jscript but the microsoft dom0 api
2008-06-25T12:49:48  <mitsuhiko> and yes, microsoft dom > netscape dom
2008-06-25T12:49:50  <TheSheep> mitsuhiko: but it was only implementedi in jscript, no?
2008-06-25T12:49:52  <mitsuhiko> however the ms dom is supported by at least firefox in quirks mode and it's more painful than xpath
2008-06-25T12:50:09  <mitsuhiko> TheSheep: no, firefox implements it for quirks mode, so does webkit and opera
2008-06-25T12:50:15  <mitsuhiko> but it's painful compared to the w3c dom
2008-06-25T12:50:39  <TheSheep> fun, so the tests for document.all I've seen to detect the browser are silly?
2008-06-25T12:50:56  <mitsuhiko> TheSheep: these tests caused an incredible hack in the implementation
2008-06-25T12:51:01  <mitsuhiko> !!document.all -> false
2008-06-25T12:51:14  <mitsuhiko> even though that object exists
2008-06-25T12:51:14  * TheSheep faints
2008-06-25T12:51:24  <mitsuhiko> actually document.all returns an object that is nearly undefined but delegates attribute access and calls
2008-06-25T12:51:45  <xorAxAx> TheSheep: but tamarin is not :)
2008-06-25T12:56:09  * TheSheep schemes a plan to force most of the earth's population to install that plugin...
2008-06-25T12:56:17  <dennda> johill: Oh boy, that is a bit embarassing
2008-06-25T12:56:49  <johill> what is?
2008-06-25T12:57:05  <dennda> having defined the same method twice
2008-06-25T12:57:12  <dennda> I think I will rearrange the order of the methods
2008-06-25T12:57:29  <johill> oh heh well at least the two implementations are the same ;)
2008-06-25T12:58:47  <dennda> yes, I thought the same :)
2008-06-25T13:00:00  <dennda> Ah now I know why that confused me yesterday...
2008-06-25T13:00:38  <dennda> johill: so wrapping that return statement in dict(...) makes it return a new dict-object rather than pointing to the existing one, correct?
2008-06-25T13:00:42  <ThomasWaldmann> ok, 11:00 UTC, lets begin our first regular meeting
2008-06-25T13:00:54  * dreimark_ ok
2008-06-25T13:01:11  * dennda ok
2008-06-25T13:01:18  <ThomasWaldmann> topics are:
2008-06-25T13:01:50  <ThomasWaldmann> # student reporting about progress of that week (what's new, what works, what does not work, ...)
2008-06-25T13:01:53  <ThomasWaldmann> # student reporting about what blocks him (if anything)
2008-06-25T13:01:56  <ThomasWaldmann> # mentor and student defining next steps, what to do for unblocking
2008-06-25T13:02:05  <johill> dennda: yes
2008-06-25T13:02:13  <ThomasWaldmann> waldi: please begin
2008-06-25T13:02:36  <dennda> johill: ok let's deferr that until later
2008-06-25T13:03:07  <dennda> (maybe we should ask who is actually around first)
2008-06-25T13:03:25  * xorAxAx will be gone at about :45, so lets handle byeongweon early enough :))
2008-06-25T13:03:39  <ThomasWaldmann> waldi: are you there?
2008-06-25T13:03:46  <waldi> i started with the creole parser to get something which can be viewed from the web
2008-06-25T13:03:49  <waldi> ThomasWaldmann: yep
2008-06-25T13:05:30  <waldi> what currently blocks: list definition.
2008-06-25T13:05:38  <dreimark_> waldi: how far is it?
2008-06-25T13:05:59  <ThomasWaldmann> (every soc project has about 10 minutes)
2008-06-25T13:06:27  <ThomasWaldmann> waldi: why does it block?
2008-06-25T13:06:30  <waldi> dreimark_: table and list does not yet work. url definition is flaky so no real links yet
2008-06-25T13:07:22  <waldi> ThomasWaldmann: how to handle differences of normal lists and something like the definition lists defined by html
2008-06-25T13:07:43  <TheSheep> creole doesn't have definition lists
2008-06-25T13:08:07  <waldi> TheSheep: but the intermediate format should have something like that
2008-06-25T13:08:12  <ThomasWaldmann> waldi: maybe just implement numbered/itemized lists first
2008-06-25T13:08:20  <waldi> yeah
2008-06-25T13:09:08  <ThomasWaldmann> waldi: do I see it right that using it via web interface currently does not work due to lacking integration? so there are just the tests for now?
2008-06-25T13:09:51  <waldi> ThomasWaldmann: i have a hacked old-style parser in my tree which glues them together, so i can use it from the web already
2008-06-25T13:10:18  <waldi> i was just about to commit them
2008-06-25T13:10:47  <ThomasWaldmann> ok, great. and just continue with the easy lists (and add comments about the troubles with def lists)
2008-06-25T13:11:11  <ThomasWaldmann> waldi: goal until next meeting?
2008-06-25T13:11:29  <waldi> creole and preliminary converter registration
2008-06-25T13:11:58  <ThomasWaldmann> ok, time is over. thanks waldi.
2008-06-25T13:12:08  <ThomasWaldmann> byeongweon: your stage :)
2008-06-25T13:12:20  <byeongweon> ThomasWaldmann: yes.
2008-06-25T13:12:35  <byeongweon> I was fix small problems(make visible gui edit link every browser, fix javascript errors, ..) and
2008-06-25T13:12:43  <ThomasWaldmann> (order is like on MoinMoin:GoogleSoc2008 student list)
2008-06-25T13:13:08  <byeongweon> moinmoin fckeditor select plugin have some problems. some functions their used were removed or changed at current versionf of fckeditor. so, I found that kind of code and fix it.
2008-06-25T13:13:25  <byeongweon> others plugin's have similar problem and some plugin just comment their unstable code. I try to find how can solve that problem.
2008-06-25T13:13:36  <ThomasWaldmann> did you find out what the select plugin is for exactly?
2008-06-25T13:14:16  <byeongweon> ThomasWaldmann: I think so.
2008-06-25T13:14:31  <ThomasWaldmann> did you add comments about your finding to the src?
2008-06-25T13:14:39  <byeongweon> I was looking deeply select plugin and restrict_action
2008-06-25T13:14:58  <byeongweon> add few comments but it's not detail.
2008-06-25T13:15:24  <byeongweon> but I have plan to refactoring select plugin and restrict_action plugin
2008-06-25T13:15:37  * ThomasWaldmann would like to see a paragraph of comment text in the header of those plugins, esp. in the select plugin
2008-06-25T13:16:01  <byeongweon> because their are most important part of moinmoin plugin I think.
2008-06-25T13:16:07  <byeongweon> yes, I will do that.
2008-06-25T13:16:12  <byeongweon> just right now, I was looking link dialog error because of encoding problemt.
2008-06-25T13:16:21  * PawelPacana is travelling, and connection is definitely lagging...
2008-06-25T13:16:28  <byeongweon> problem. misstyping.
2008-06-25T13:17:13  <byeongweon> block list.
2008-06-25T13:17:23  <xorAxAx> block list?
2008-06-25T13:17:38  <TheSheep> what blocks
2008-06-25T13:17:49  <TheSheep> ?
2008-06-25T13:18:00  <byeongweon> first, legacy plugin code written with 2.0 version of fckeditor
2008-06-25T13:18:18  <xorAxAx> ah, he presents his blockers :)
2008-06-25T13:18:48  <ThomasWaldmann> byeongweon: that is rather unspecific for a blocker, it sounds rather like your task :)
2008-06-25T13:18:55  <byeongweon> so, with recent version of fckeditor. api and sturcture of program's changed.
2008-06-25T13:19:12  <byeongweon> I know :-)
2008-06-25T13:19:43  <byeongweon> but their's so few referect differece between 2.1 and 2.6 version of fckeditor
2008-06-25T13:20:13  <byeongweon> It make me little be hard. anyway :-)
2008-06-25T13:20:26  <ThomasWaldmann> btw, fckeditor has some support forum(s) / ml on their homepage
2008-06-25T13:20:38  <byeongweon> I have plan to do modify html->moinmoin formatting convertor
2008-06-25T13:21:10  <ThomasWaldmann> bugfixes there are very welcome
2008-06-25T13:21:17  <byeongweon> and last make editor work with various browser.
2008-06-25T13:21:39  <byeongweon> ok.
2008-06-25T13:21:44  <ThomasWaldmann> concrete goal until next meeting?
2008-06-25T13:21:58  <byeongweon> make convertor work well.
2008-06-25T13:22:06  <byeongweon> and work with firefox well
2008-06-25T13:22:13  <byeongweon> 2 goal
2008-06-25T13:22:13  <ThomasWaldmann> cool :)
2008-06-25T13:22:36  <ThomasWaldmann> ok, time is over
2008-06-25T13:22:43  <byeongweon> that's end. :-)
2008-06-25T13:22:53  <ThomasWaldmann> dennda / johill: your stage
2008-06-25T13:22:59  <dennda> ok, since this is our first meeting, let me roughly outline how we started:
2008-06-25T13:23:24  <dennda> I started by implementing the storage backends API as johill proposed, that means creating an abstract collection of classes that represent the new storage API
2008-06-25T13:23:55  <dennda> This last week I focused on getting a first implementation that actually uses this new API, a MemoryBackend, that keeps all data in Memory.
2008-06-25T13:24:34  <ThomasWaldmann> (cgi users will love it :P )
2008-06-25T13:24:38  <dennda> of course, nobody is going to use that to actually store data in a productive environment, but that backend is meant to depict how to actually write a backend given the API we defined.
2008-06-25T13:24:42  <dennda> hehe
2008-06-25T13:24:45  <dennda> yes :)
2008-06-25T13:25:21  <dennda> additionally, it documents how things work. It is not finished (yet), but it's near complete. I think I'll have it finished quite soon, probably today.
2008-06-25T13:26:01  <dennda> In addition to that, I wrote some tests which are not complete yet. I will be working with Pawel to have a good collection of subclassable tests for the whole storage backend, if you guys agree to this kind of collaboration.
2008-06-25T13:26:05  <ThomasWaldmann> nice, we can point backend authors at it as reference and easy getting into stuff.
2008-06-25T13:26:35  <dennda> yes, that's one of the reasons we thought it's a good idea to have such an easy to understand implementation that doesn't do any heavy lifting like SQL
2008-06-25T13:26:53  <ThomasWaldmann> so PawelPacana and you are working on the same storage/backend api spec?
2008-06-25T13:27:07  <dennda> well, he's writing a hg backend
2008-06-25T13:27:15  <dennda> and that obviously needs to use the new storage api
2008-06-25T13:27:17  <johill> pawel has been using the changed API already
2008-06-25T13:27:32  <dennda> except you want to do things twice :)
2008-06-25T13:27:41  <johill> and he also has been using the tests dennda wrote (by subclassing the test class) to pull in the tests and just do them on the other backend
2008-06-25T13:28:07  <ThomasWaldmann> great to see you working together
2008-06-25T13:28:07  <johill> so he's not actually working on any API issues but using infrastructured dennda provided
2008-06-25T13:28:46  <xorAxAx> nice
2008-06-25T13:28:48  <dreimark_> is there backflow supposed ?
2008-06-25T13:28:57  <dennda> I interpret that as an okay to collaboration :)
2008-06-25T13:29:07  <johill> dreimark_: huh what?
2008-06-25T13:29:24  <dennda> dreimark_: yes, PawelPacana already committed a more generalized testclass
2008-06-25T13:29:26  <xorAxAx> johill: if bablefish was bijective ...
2008-06-25T13:29:29  <dennda> so on the tests, yes
2008-06-25T13:29:41  <dennda> xorAxAx: hehe
2008-06-25T13:29:42  <dreimark_> xorAxAx: :) sorry
2008-06-25T13:29:59  <johill> dennda: what are you planning on doing after the memory backend + tests (which shoudl be finished soon I suppose)?
2008-06-25T13:29:59  <dennda> he means if some of PawelPacana's work is going to flow back into my work, as far as I can tell
2008-06-25T13:30:08  <xorAxAx> dennda: well, colloboration is fine as long nobody is blocking anybody else
2008-06-25T13:30:13  <xorAxAx> (for too long)
2008-06-25T13:30:21  <xorAxAx> -o +a
2008-06-25T13:30:33  <dennda> johill: The next step is to make moin actually use the new storage API. That is going to be the most difficult thing up to now, as far as I can tell. While doing that I will test the MemoryBackend as "real" backend for a wiki.
2008-06-25T13:30:54  <dennda> (This is the short-term goal.)
2008-06-25T13:30:59  <johill> sounds good, and that's fairly important too to get PawelPacana be able to test in a real-wiki setting
2008-06-25T13:31:02  <xorAxAx> dennda: why is that hard?
2008-06-25T13:31:09  <xorAxAx> dennda: given that lanius strated it
2008-06-25T13:31:10  <ThomasWaldmann> you think we see a read-only new-api moin soon?
2008-06-25T13:31:17  <johill> xorAxAx: in some places the API changed significantly
2008-06-25T13:31:20  <xorAxAx> ok
2008-06-25T13:31:31  <johill> xorAxAx: a bunch of things lanius had like ItemCollection are completely useless and gone
2008-06-25T13:31:49  <johill> it shouldn't be too hard though since the abstraction is there
2008-06-25T13:31:52  <xorAxAx> yes
2008-06-25T13:32:00  <xorAxAx> cleaning up the upper layers is yet another task
2008-06-25T13:32:03  <xorAxAx> page tc.
2008-06-25T13:32:06  <xorAxAx> etc.
2008-06-25T13:32:06  <johill> mostly a rename of methods / going through different cfg stuff
2008-06-25T13:32:52  <dennda> well, I didn't say "the hardest thing in the world", did I ?
2008-06-25T13:32:53  <xorAxAx> any blockers?
2008-06-25T13:32:53  <dennda> :)
2008-06-25T13:32:56  <johill> anyhow, looks good to me, and I can assist with those changes where needed
2008-06-25T13:33:23  <dennda> johill: I'd appreciate that, I think we already agreed another phone call was a good idea?
2008-06-25T13:33:32  <dennda> xorAxAx: none that I can think of right now
2008-06-25T13:33:42  <ThomasWaldmann> thanks dennda / johill - now it's zenhase's and mitsuhiko's stage
2008-06-25T13:33:55  <mitsuhiko> zenhase: are you there? :)
2008-06-25T13:34:10  <johill> dennda: sure, we can arrange that
2008-06-25T13:34:16  <dennda> johill: sweet
2008-06-25T13:34:44  <dennda> (maybe not tonight, I won't be able to hear you through all those horns... :))
2008-06-25T13:35:04  <johill> heh
2008-06-25T13:35:12  <johill> somebody else first while we search for zenhase? :)
2008-06-25T13:35:22  <ThomasWaldmann> hmm, zenhase seems to be away, so we will push his slot to the end and now continue with gizmach and dreimark_
2008-06-25T13:35:32  <gizmach> ok I'm here
2008-06-25T13:35:37  <xorAxAx> i think it makes sense to group pawel and dennda together
2008-06-25T13:35:41  * xorAxAx editsthe wiki page
2008-06-25T13:35:47  <mitsuhiko> okay
2008-06-25T13:36:02  <gizmach> then Pawel ?
2008-06-25T13:36:05  <dreimark_> gizmach: tell your progress
2008-06-25T13:36:06  <gizmach> :)
2008-06-25T13:36:08  <johill> xorAxAx: I was about to suggest that but PawelPac1na wasn't really there :)
2008-06-25T13:36:09  <gizmach> ok
2008-06-25T13:36:18  <xorAxAx> gizmach: you first
2008-06-25T13:36:29  * PawelPacana_ just lost connection around 13:28
2008-06-25T13:36:46  <gizmach> I've finaly added a method for searching groups that a certan user is a member of in ldap_login,  I need to replace some variable name and see if I can make it more configurable
2008-06-25T13:36:50  <PawelPacana_> whos turn is it?
2008-06-25T13:36:59  <johill> gizmach's
2008-06-25T13:37:05  <xorAxAx> PawelPacana_: http://moinmo.in/MoinMoinChat/Logs/moin-dev/2008-06-25
2008-06-25T13:37:16  <gizmach> Also I started with the low level part of the wikidicts - make checking if the string passed is a group - check if it exist on the LDAP as a group. And done tehst for it.
2008-06-25T13:37:21  <gizmach> thests
2008-06-25T13:37:23  <gizmach> tests
2008-06-25T13:37:36  <gizmach> and now my ocupation is refactoring wikidicts
2008-06-25T13:37:46  <gizmach> and here I have some questions
2008-06-25T13:38:26  <dreimark_> ok do continue please
2008-06-25T13:38:34  <gizmach> Is here a point to make the two love level parts of code for the MM regexp groups and LDAP groups and to only have generic Group and GroupDict in the high level call which will call the lover level code
2008-06-25T13:38:47  <gizmach> to ThomasWaldmann: dennda: PawelPacana_ :
2008-06-25T13:39:07  <xorAxAx> gizmach: whats the difference between group and groupdict?
2008-06-25T13:39:07  <gizmach> and I called the lover level code based on the configuration
2008-06-25T13:39:22  <dreimark_> s/lover/lower/ I assume
2008-06-25T13:39:41  <gizmach> a groupDict is a dictionary of group objects
2008-06-25T13:39:53  <johill> gizmach: I wouldn't worry about storage too much so far; we use the storage to store user information
2008-06-25T13:40:21  <gizmach> dreimark_: true
2008-06-25T13:40:55  <gizmach> johill: but I need to deal with the way how will I generic represent Groups
2008-06-25T13:41:17  <ThomasWaldmann> gizmach: maybe a good thing is to find out the high-level requirements for groups (what data types, what operations on them do we use, do we need)
2008-06-25T13:42:10  <ThomasWaldmann> then design how the HL stuff works together
2008-06-25T13:42:12  <johill> I admit to abusing wikidicts for allowing theme navigation to be specified in the wiki itself too, so keep in mind user groups vs. page groups maybe?
2008-06-25T13:42:12  <gizmach> ThomasWaldmann: there are for groups - representation will be a set and I need to have add_group, is group
2008-06-25T13:42:18  <gizmach> ,...
2008-06-25T13:42:21  <gizmach> is_group
2008-06-25T13:42:26  <ThomasWaldmann> and then have everything lowlevel in a backend
2008-06-25T13:42:54  <johill> just inventing any abstraction layer should be fine, so far I don't see overlap with the storage stuff
2008-06-25T13:43:00  <gizmach> johill: didn't we have that discussion before ? about splitting user groups and page groups
2008-06-25T13:43:08  <gizmach> ThomasWaldmann: ok
2008-06-25T13:43:34  <johill> gizmach: yeah quite possibly we did
2008-06-25T13:43:55  <dreimark_> the discussion was about to get usergroups by the acl verification
2008-06-25T13:44:02  <dreimark_> and all are groups
2008-06-25T13:44:08  <gizmach> dreimark_: corect
2008-06-25T13:44:14  <gizmach> true
2008-06-25T13:44:53  <ThomasWaldmann> gizmach: btw, think about better names for stuff (not only your own new stuff).
2008-06-25T13:45:12  <gizmach> ThomasWaldmann: deal
2008-06-25T13:45:15  <ThomasWaldmann> e.g. groupdict is a questionable name
2008-06-25T13:45:43  <ThomasWaldmann> it tells "dict of groups" somehow, but that is an implementation detail
2008-06-25T13:46:11  <ThomasWaldmann> it maybe would be less confusing to have a "GroupManager" thing
2008-06-25T13:46:23  <gizmach> ah I understand :)
2008-06-25T13:46:28  <xorAxAx> gizmach: yes, you dont need to keep anything in wikidicts
2008-06-25T13:46:34  <gizmach> yes here you are right
2008-06-25T13:46:36  <xorAxAx> and will produce much better stuff if you dont
2008-06-25T13:46:58  <xorAxAx> just try to find something that adheres to the new reqs and check which external interfaces are used
2008-06-25T13:47:03  <gizmach> xorAxAx: then not to overwrite and inherit things
2008-06-25T13:47:52  <johill> too much tech discussion
2008-06-25T13:47:53  <ThomasWaldmann> the most important operation (for ACLs) is is_member(groupname, username)
2008-06-25T13:48:24  <gizmach> ThomasWaldmann: I done that for ldap_groups but I need to make it as a generic method
2008-06-25T13:48:30  <ThomasWaldmann> it could be done with first creating the full group (a set of all members) and then using username in group,
2008-06-25T13:48:50  <ThomasWaldmann> BUT you have been advised not to query all group members from ldap
2008-06-25T13:48:54  <gizmach> yes
2008-06-25T13:49:27  <ThomasWaldmann> so the implementation should be flexible regarding such side conditions
2008-06-25T13:49:27  <gizmach> then I need everytime to check on LDAP is a user member of a group
2008-06-25T13:49:39  * xorAxAx &
2008-06-25T13:49:49  <ThomasWaldmann> no, you just need to call the ldap backend to handle this
2008-06-25T13:50:04  <ThomasWaldmann> (that is not the same as doing a real query to the ldap server)
2008-06-25T13:50:09  <gizmach> I said that wrongly
2008-06-25T13:50:13  <gizmach> :)
2008-06-25T13:50:36  <dreimark_> ok, next steps ?
2008-06-25T13:51:39  <gizmach> my next step is to find high-level requirements and to split high level from the low-level
2008-06-25T13:51:51  <gizmach> and make generic methods
2008-06-25T13:51:58  <gizmach> for the high level
2008-06-25T13:52:34  <ThomasWaldmann> ok, thanks gizmach and dreimark - PawelPacana_ and TheSheep, it is your stage!
2008-06-25T13:52:54  <ThomasWaldmann> gizmach: if there are more questions, we continue afterwards
2008-06-25T13:53:01  <gizmach> ThomasWaldmann: ok thx
2008-06-25T13:55:09  <TheSheep> PawelPacana__: ping
2008-06-25T13:55:43  <johill> there he is. your turn
2008-06-25T13:55:57  <PawelPacana____> thanks :)
2008-06-25T13:56:14  <PawelPacana____> during this week
2008-06-25T13:56:19  <PawelPacana____> I have adopted denndas MemoryBackend tests, made it more genereal and added few more to test my MercurialBackend.
2008-06-25T13:56:32  <PawelPacana____> Using this tests, reaching compliance with new API is quite easy. However my backend is still failing tests connected to revisions, commit.
2008-06-25T13:56:45  <PawelPacana____> Using this tests, reaching compliance with new API is quite easy. However my backend is still failing tests connected to revisions, commit.
2008-06-25T13:56:49  <PawelPacana____> And this will be fixed till end of week to achieve full compliance with current API state.
2008-06-25T13:57:02  <PawelPacana____> (sorry for duplicates)
2008-06-25T13:57:39  <PawelPacana____> hopefully, we`ll collaborate with dennda on tests part
2008-06-25T13:58:12  <PawelPacana____> there is new mercurial feature on horizon
2008-06-25T13:58:22  <PawelPacana____> working-copy-less commits
2008-06-25T13:58:51  <PawelPacana____> and it is implemented by mercurial people
2008-06-25T13:59:24  <PawelPacana____> next plans: all API tests passing, veryfying new hg feature: working-copy-less commits
2008-06-25T13:59:58  <TheSheep> PawelPacana__: do you have file structure of the repo planned already?
2008-06-25T14:02:37  <johill> guess he timed out again
2008-06-25T14:03:20  <TheSheep> he's in a train
2008-06-25T14:04:06  <johill> file structure isn't too interesting either way ;)
2008-06-25T14:04:08  <johill> zenhase: around now?
2008-06-25T14:05:22  * ThomasWaldmann slaps zenhase with a big python
2008-06-25T14:05:37  <gizmach> :))
2008-06-25T14:05:55  <johill> guess not
2008-06-25T14:05:57  <johill> meeting adjourned?
2008-06-25T14:06:27  <ThomasWaldmann> ok, so we are finished with the official part ( zenhase and mitsuhiko please do it this evening )
2008-06-25T14:06:53  * gizmach is drawing something for ThomasWaldmann : and dreimark_ :
2008-06-25T14:06:58  <mitsuhiko> yes :/
2008-06-25T14:07:08  <gizmach> so please don't run away
2008-06-25T14:07:15  <TheSheep> so, now we go to drink?
2008-06-25T14:08:04  * gizmach buys budweiser fot TheSheep 
2008-06-25T14:08:12  <johill> eww
2008-06-25T14:08:13  <gizmach> for
2008-06-25T14:08:30  * johill hopes there'll be something decent to dring in Ottawa
2008-06-25T14:08:51  <dennda> whisky dude
2008-06-25T14:09:03  <dennda> johill: when do you leave again?
2008-06-25T14:09:36  <johill> july 21st
2008-06-25T14:10:00  <dennda> about a month, okay
2008-06-25T14:12:05  <johill> dennda: what about publish_metadata now? have you decided?
2008-06-25T14:13:26  <dennda> johill: you mean what name?
2008-06-25T14:13:30  <johill> yeah
2008-06-25T14:13:38  <johill> names, for the lock part too
2008-06-25T14:14:04  * ThomasWaldmann has MAC time now :)
2008-06-25T14:14:34  <dennda> johill: _lock => change_metadata || _unlock => publish_metadata
2008-06-25T14:15:00  <johill> ok
2008-06-25T14:15:24  <gizmach> need to reboot brb
2008-06-25T14:18:50  <mmihaljevic> damit
2008-06-25T14:18:52  <mmihaljevic> re
2008-06-25T14:19:22  <TheSheep> mmihaljevic: windows?
2008-06-25T14:19:42  <mmihaljevic> TheSheep: no, my ubuntu don't want to listent to me sometimes
2008-06-25T14:19:58  <mmihaljevic> TheSheep: I use windows once or twice in month
2008-06-25T14:20:35  <TheSheep> mmihaljevic: you must treat your ubuntu better, feed it properly...
2008-06-25T14:20:46  <mmihaljevic> TheSheep: I know...
2008-06-25T14:21:08  <mmihaljevic> TheSheep: well he doesn't treat me better
2008-06-25T14:21:48  * waldi .o( ubuntu needs blood to spread ... )
2008-06-25T14:23:04  <mmihaljevic> ;)
2008-06-25T14:25:32  <johill> *boggle*
2008-06-25T14:25:41  <johill> why does penticton have such a good wikitravel article?
2008-06-25T14:26:12  <gizmach> better now
2008-06-25T14:26:35  <gizmach> ThomasWaldmann: dreimark_ : r u there
2008-06-25T14:27:03  <ThomasWaldmann> yes, 30% at least :)
2008-06-25T14:29:07  <gizmach> that's ok
2008-06-25T14:30:12  * dreimark_ too 25%
2008-06-25T14:30:37  <gizmach> ThomasWaldmann: dreimark_ : if you can look at this http://tinypic.com/view.php?pic=2jd3yc0&s=3 is this at the end how it needs to look like ? the config backand is so confusing me
2008-06-25T14:30:53  <gizmach> and if I don't reply in a minute I'm dooing the loundry
2008-06-25T14:35:40  <ThomasWaldmann> gizmach: i can't make much out of that (partly, I can't even read it)
2008-06-25T14:37:01  <gizmach> huh then I'll try to explain it
2008-06-25T14:37:35  <gizmach> ok the main thing were the conections between parts of code
2008-06-25T14:38:36  <gizmach> and I don't know is it a good way that the config backend take the auth parametar from the wikiconfig locale and then be a wall between higher and lover level of code
2008-06-25T14:39:45  <dreimark_> the larger one http://i32.tinypic.com/2jd3yc0.jpg
2008-06-25T14:40:41  <ThomasWaldmann> sorry, I can't make sense out of your words either.
2008-06-25T14:40:46  <ThomasWaldmann> wikiconfig locale?
2008-06-25T14:41:38  <gizmach> or the wikiconfig when i need to say the way of auth I'm using auth = [ldap_authenticator1, ] for example
2008-06-25T14:41:45  <ThomasWaldmann> (if you make more photos, use daylight or flashlight to get it lighter)
2008-06-25T14:42:03  <gizmach> ThomasWaldmann: :)
2008-06-25T14:43:35  <ThomasWaldmann> well. maybe consider it the normal way that the group backends have nothing to do with the authenticators.
2008-06-25T14:44:09  <ThomasWaldmann> and see the fact that the ldap authenticator also collects group information as an exception to that rule.
2008-06-25T14:44:56  <gizmach> hm.. that's sounds reasonable, but I need specify somewhere which way of auth I use, don't I ?
2008-06-25T14:45:20  <ThomasWaldmann> do you have a requirements list somewhere already (i.e. what the moin code needs from groups, dicts, lists?
2008-06-25T14:45:45  <ThomasWaldmann> auth is not your business, groups is
2008-06-25T14:46:15  <ThomasWaldmann> you are just hacking some group code into ldap auth because that is easy to do :)
2008-06-25T14:46:31  <gizmach> I only searched for the filter=isgroup
2008-06-25T14:46:36  <gizmach> :) ok
2008-06-25T14:46:46  <gizmach> http://moinmo.in/MelitaMihaljevic/RefactoringWikidicts
2008-06-25T14:46:49  <gizmach> the last
2008-06-25T14:47:04  <ThomasWaldmann> for telling moin about how to proceed with groups, you need to add group configuration in a similarly flexible way as auth is implemented
2008-06-25T14:47:12  <gizmach> and I need to change "Refactoring to a more generic approach: " part
2008-06-25T14:47:31  <gizmach> and need to do that in a config backend?
2008-06-25T14:48:38  <ThomasWaldmann> if *I* talk about a "group config backend", I am referring to some easy way to get one backend going
2008-06-25T14:49:01  <gizmach> ah ok
2008-06-25T14:49:04  <ThomasWaldmann> like http://moinmo.in/MelitaMihaljevic/RefactoringWikidicts there in the 3rd box
2008-06-25T14:49:11  <gizmach> :)
2008-06-25T14:50:03  <ThomasWaldmann> so you would maybe start with that (easy) config group backend and after you have that one working you proceed with the more demanding ldap/wiki backends
2008-06-25T14:51:22  <ThomasWaldmann> a completely different thing is that you will need to add configuration about what group backends moin shall use, in what way, in what order
2008-06-25T14:52:07  <ThomasWaldmann> (this can be done after getting the first single one working, but you have to keep in mind that there might be more than one)
2008-06-25T14:53:49  * ThomasWaldmann waits for some concrete requirements list now. without that, designing this won't work.
2008-06-25T14:54:09  <gizmach> ok
2008-06-25T14:54:23  <gizmach> will do that
2008-06-25T14:54:35  <ThomasWaldmann> i give you the first requirement, but you will have to check it and find the rest yourself
2008-06-25T14:54:45  <gizmach> :)
2008-06-25T14:54:57  <gizmach> th
2008-06-25T14:54:58  <gizmach> x
2008-06-25T14:55:57  <ThomasWaldmann> ACLs use group names for giving rights to members of that group. Before moin shows acl protected content, it will check user.may.read().
2008-06-25T14:56:25  <gizmach> I deffinetly wasn't thinking about it
2008-06-25T14:56:43  <ThomasWaldmann> That code will then process the ACL looking whether the current user (request.user) may read the content.
2008-06-25T14:57:34  <ThomasWaldmann> And the only check interesting for you for that case is: has_member(aclgroupname, username). No more, no less.
2008-06-25T14:57:54  <gizmach> will keep that in mind
2008-06-25T14:58:29  <ThomasWaldmann> Note that it does NOT need to build a set of all group members for this usage, it just needs to answer True/False to has_member(...).
2008-06-25T15:00:28  <ThomasWaldmann> The decision whether it rather likes to build a complete members set or not has to be done by the backend.
2008-06-25T15:01:29  <gizmach> ok
2008-06-25T15:01:36  <ThomasWaldmann> E.g. the groups defined on wikipages will likely build the complete members set and then just use "in" for the has_member check, because it is easy and cheap to do.
2008-06-25T15:02:10  <ThomasWaldmann> The LDAP defined groups won't do it that way, but use the cached information from ldap_login.
2008-06-25T15:03:22  <ThomasWaldmann> Thus, your highlevel group API might LOOK like a set, but it does not need to be implemented internally with a set.
2008-06-25T15:05:54  <ThomasWaldmann> >> http://moinmo.in/MelitaMihaljevic/DesignRequirements
2008-06-25T15:06:04  <ThomasWaldmann> (or similar :)
2008-06-25T15:10:47  <gizmach> sorry had a phone call
2008-06-25T15:13:07  <gizmach> :) ok
2008-06-25T15:30:31  <gizmach> bbl
2008-06-25T15:33:15  <johill> ThomasWaldmann: any ideas about merging 1.8 with the storage branches? I'd like to at some point because the config stuff will affect storage too, but merging 1.8 into 1.7-storage seems wrong, and me committing into dennda's work seems wrong too
2008-06-25T15:44:27  <ThomasWaldmann> if it is just a naming problem, we can have a 1.8-storage repo
2008-06-25T15:46:29  <johill> it's mainly that yes. I can also commit to 1.7-storage-hwendel as I did to carry it along 1.7
2008-06-25T16:27:00  <johill> TheSheep: umm, what's that isWritable check in universal edit button?
2008-06-25T16:30:40  <ThomasWaldmann> having a edit button where you can't edit is pointless :)
2008-06-25T16:31:16  <johill> yeah I got confused
2008-06-25T16:31:22  <johill> storage has no isWritable
2008-06-25T16:31:33  <johill> but all uses .exists in place of it
2008-06-25T16:50:35  <ThomasWaldmann> johill: there is a 1.8 storage repo and if dennda pulls from main from time to time (as he should), there will be changesets in it that are not his own anyway
2008-06-25T16:52:00  <ThomasWaldmann> so I think it would be appropriate if you commit stuff related to his work (but not part of his task) there
2008-06-25T16:52:42  <johill> ok
2008-06-25T16:53:18  <johill> I knew the config changes were going to conflict and wanted to handle those for him
2008-06-25T16:58:24  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3689:a37a4f4178f3 1.8-dom-bblank/MoinMoin/converter2/creole_in.py:
2008-06-25T16:58:24  <CIA-52> Creole input converter - Try to get as much text as possible
2008-06-25T16:58:24  <CIA-52> MoinMoin/converter2/creole_in.py
2008-06-25T16:58:24  <CIA-52> - Rename Rules.text to Rules.text_block.
2008-06-25T16:58:24  <CIA-52> - Add Rules.text_inline which matches anything greedy.
2008-06-25T16:58:25  <CIA-52> - Use text_block and text_inline. Use re.DOTALL for inline_re.
2008-06-25T16:58:29  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3690:473a51baa844 1.8-dom-bblank/MoinMoin/converter2/creole_in.py:
2008-06-25T16:58:32  <CIA-52> Creole input converter - Use keyword arguments instead of groups dict
2008-06-25T16:58:34  <CIA-52> MoinMoin/converter2/creole_in.py
2008-06-25T16:58:36  <CIA-52> - Rename break to linebreak, break is a keyword.
2008-06-25T16:58:38  <CIA-52> - Remove unneeded named groups from re.
2008-06-25T16:58:40  <CIA-52> - Use keyword arguments instead of full groups dict for handler calls.
2008-06-25T17:02:58  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3691:8541eed8d94d 1.8-dom-bblank/MoinMoin/parser/ (_creole.py text_creole.py): Remove old Creole parser.
2008-06-25T17:02:58  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3692:f719dd2a2ec8 1.8-dom-bblank/MoinMoin/parser/text_creole.py: Add Creole parser which uses the new converters.
2008-06-25T17:55:03  <CIA-52> Johannes Berg <johannes AT sipsolutions DOT net> default * 4203:22a9d55ebb3b 1.8-storage-cdenter/MoinMoin/PageEditor.py: prepare for merge
2008-06-25T17:55:04  <CIA-52> Johannes Berg <johannes AT sipsolutions DOT net> default * 4204:bad7278586b8 1.8-storage-cdenter/.hgignore: prepare for merge: use .hgignore from 1.8
2008-06-25T17:55:07  <CIA-52> Johannes Berg <johannes AT sipsolutions DOT net> default * 4205:28a3a103cf5a 1.8-storage-cdenter/ (192 files in 39 dirs): merge 1.8
2008-06-25T17:55:08  <CIA-52> Johannes Berg <johannes AT sipsolutions DOT net> default * 4206:828d11ae2504 1.8-storage-cdenter/MoinMoin/theme/__init__.py: universal edit button: replace isWritable with exists
2008-06-25T18:03:07  <mitsuhiko> zenhase: pingeling
2008-06-25T18:06:26  <waldi> bah, py.test strips text in the assertion output
2008-06-25T18:06:44  <zenhase> mitsuhiko: pongelong
2008-06-25T18:07:13  <mitsuhiko> zenhase: you weren't online for the meeting :)
2008-06-25T18:07:19  <mitsuhiko> anyways. let's do that now
2008-06-25T18:07:22  <mitsuhiko> ThomasWaldmann: there?
2008-06-25T18:07:27  <zenhase> yeah
2008-06-25T18:08:51  <mitsuhiko> zenhase: can you do a recap of what you did so far?
2008-06-25T18:08:58  <zenhase> i wanted to summarize the current status (and whats in my head) the last few days, but kinda pushed it into the future
2008-06-25T18:09:12  <zenhase> yeah, can do
2008-06-25T18:10:10  <zenhase> in the first 2-3 weeks i think i played around with different ways to make those contexts work
2008-06-25T18:11:08  <zenhase> had to work around the problem, that almost every object that later on is smacked unto request holds a reference to the request-object (or therefore context) it was initialized with
2008-06-25T18:12:15  <zenhase> right now i am doing something a bit dirty, but it kinda works: Contexts wrap up a werkzeug request object (which is mixed with the response, to accomodate for the way moin outputs right now)
2008-06-25T18:12:44  <zenhase> and then the context switches classes if it has to be something else
2008-06-25T18:13:01  <mitsuhiko> you are replacing the implementation on the fly? cool :)
2008-06-25T18:13:10  <zenhase> well .__class__ =
2008-06-25T18:13:13  <mitsuhiko> that's one of the things i got kicked for in #python :)
2008-06-25T18:13:19  <zenhase> haha :)
2008-06-25T18:13:21  <mitsuhiko> but i like it
2008-06-25T18:13:36  <zenhase> well, the classes are only methods and properties anyway
2008-06-25T18:13:50  <zenhase> the properties proxy into the environ of the wrapped request-object
2008-06-25T18:14:43  <johill> dennda: there, I gave you a merge with 1.8, so you can use modernized ;)
2008-06-25T18:15:08  <zenhase> actually i wanted to make the switch of class implicit according to what attributes get looked up (on missing property) ... so i have at the end of the request a list of all context-classes in the order they had to switch to
2008-06-25T18:15:20  <zenhase> but i did not get that to work nicely
2008-06-25T18:15:20  <TheSheep> johill: modernized works with 1.7 too :)
2008-06-25T18:15:28  <johill> TheSheep: heh yeah I know
2008-06-25T18:15:30  <zenhase> so i currently concentrate on something different
2008-06-25T18:15:40  <mitsuhiko> zenhase: how much of the code does still work? :)
2008-06-25T18:15:55  <zenhase> well, i can browse pages ;)
2008-06-25T18:16:04  <zenhase> let me put it this way:
2008-06-25T18:16:42  <zenhase> right now i started to concentrate on getting functionality out of request into other means like functions or service-objects
2008-06-25T18:17:31  <zenhase> session & auth are the things i took on right now
2008-06-25T18:17:40  <johill> if you need any help with those let me know
2008-06-25T18:17:49  <zenhase> 2nd thing i am trying to do: make tests work with the wsgi-request-object
2008-06-25T18:18:03  <zenhase> that's something i ignored until now
2008-06-25T18:18:27  <zenhase> i had some strange issues with getting py.test some days ago tho :o
2008-06-25T18:19:13  <zenhase> it always said something about not finding the data_dir ... and tried to locate it under the directory the py.test binary lives in (~/Software/bin on my installations)
2008-06-25T18:19:21  <zenhase> kind of strange :o
2008-06-25T18:19:27  <johill> are you sure that wasn't just moin's data_dir?
2008-06-25T18:19:44  <zenhase> yeah, i mean the moin data dir
2008-06-25T18:19:55  <xorAxAx> ?
2008-06-25T18:19:59  <zenhase> my repo resides in ~/Projects/moin-gsoc
2008-06-25T18:20:09  <xorAxAx> moving the moin directory doesnt help :)
2008-06-25T18:20:11  <mitsuhiko> issues with py.test are pretty common
2008-06-25T18:20:15  <xorAxAx> mitsuhiko: ?
2008-06-25T18:20:25  <mitsuhiko> xorAxAx: what's so confusing?
2008-06-25T18:20:25  <zenhase> when i called py.test from there, it looked for the moin data dir in ~/Software/bin
2008-06-25T18:20:30  <xorAxAx> mitsuhiko: what kind of issues?
2008-06-25T18:20:44  <xorAxAx> zenhase: please read MoinMoin.conftest
2008-06-25T18:20:52  <mitsuhiko> xorAxAx: some of the py.test hacks are too clever for some software
2008-06-25T18:20:54  <xorAxAx> zenhase: thats where the relevant pathhandling is
2008-06-25T18:21:01  <xorAxAx> mitsuhiko: but thats completly unrelated
2008-06-25T18:21:05  <zenhase> xorAxAx: yeah, i later on discovered that request is initialized there
2008-06-25T18:21:08  <xorAxAx> mitsuhiko: and py.test has --no-magic
2008-06-25T18:21:12  <mitsuhiko> xorAxAx: makes it still hard to debug that
2008-06-25T18:22:25  <zenhase> so current status summarized: anonymous wiki surfing seems to work, session handling works tho i still need to port it to the moin-cache-dir-sessions (uses werkzeug-tmpdir-sessions right now)
2008-06-25T18:22:37  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3693:e7ca5d02c003 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_creole_in.py creole_in.py):
2008-06-25T18:22:37  <CIA-52> Creole input converter - Support lists
2008-06-25T18:22:37  <CIA-52> * MoinMoin/converter2/creole_in.py
2008-06-25T18:22:37  <CIA-52>  - Port list support to new interface.
2008-06-25T18:22:37  <CIA-52>  - Redo list rewind logic.
2008-06-25T18:22:39  <CIA-52> * MoinMoin/converter2/_tests/test_creole_in.py:
2008-06-25T18:22:43  <CIA-52>  Add testcases for "bullet" lists.
2008-06-25T18:22:45  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3694:99e6875d685b 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_creole_in.py creole_in.py):
2008-06-25T18:22:48  <CIA-52> Creole input converter - Record list type
2008-06-25T18:22:50  <CIA-52> * MoinMoin/converter2/creole_in.py:
2008-06-25T18:22:52  <CIA-52>  Record list type in the tree for easy lookup by the parser.
2008-06-25T18:22:54  <CIA-52> * MoinMoin/converter2/_tests/test_creole_in.py: Add further testcases.
2008-06-25T18:22:59  <zenhase> auth doesn't work right now (needs to be fixed next) since i wanted to decouple session/auth-handling
2008-06-25T18:23:11  <mitsuhiko> that sounds pretty good
2008-06-25T18:23:12  <zenhase> but i'll work on that next
2008-06-25T18:23:30  <mitsuhiko> will you port sessions by using a werkzeug session store or copy over the existing implementation?
2008-06-25T18:23:34  <zenhase> then i want to fix tests, so they work (or at least throw errors particular to the problem)
2008-06-25T18:23:41  <zenhase> that's what i plan until midterm
2008-06-25T18:24:03  <zenhase> hmm
2008-06-25T18:24:27  <zenhase> actually i was wondering about sessions if they have to reside in the cache-area
2008-06-25T18:24:46  <zenhase> this cache-area-code is awfully complex imo
2008-06-25T18:25:07  <zenhase> and farming of sessions works more or less on a cookie-path-basis
2008-06-25T18:25:24  <zenhase> (which i am using with werkzeugs sessions right now too)
2008-06-25T18:26:22  <johill> zenhase: no, they shouldn't be in the cache area
2008-06-25T18:26:31  <zenhase> also i thought this seperation of ID-handling and how this identifier is made available to the client (MoinCookieSessionHandler?) is a bit strange
2008-06-25T18:26:33  <johill> I put a todo item up on the 1.8 page to remind me to move them elsewhere
2008-06-25T18:26:48  <zenhase> which is why i defined this quite concise sessionservice-interface
2008-06-25T18:27:16  <zenhase> service.get_session(request) and service.finalize(request, session) at the end of the request
2008-06-25T18:27:21  <johill> the ID handling thing, yeah I stumbled across that too recently, I can't remember what that is
2008-06-25T18:27:30  <johill> what I thought that was useful for, I mean
2008-06-25T18:27:35  <zenhase> ah ok :)
2008-06-25T18:27:53  <johill> I can move that into the main class and remove the option
2008-06-25T18:28:12  <zenhase> well, have a look at my session-service idea :o
2008-06-25T18:28:13  <johill> it's only used by the MoinCookieSessionHandler anyway I think
2008-06-25T18:28:30  <zenhase> i wondered if there are any other session-implementations for moin :)
2008-06-25T18:28:43  <zenhase> apart from the cookie-session-handler ;)
2008-06-25T18:28:44  <johill> how much does it differ from my SessionHandler class though?
2008-06-25T18:28:55  <zenhase> what?
2008-06-25T18:28:59  <zenhase> my implementation?
2008-06-25T18:29:01  <johill> your service idea
2008-06-25T18:29:14  <zenhase> well, it has 2 methods only
2008-06-25T18:29:30  <johill> right, so how does it set a cookie?
2008-06-25T18:29:32  <zenhase> one to get a session-object from a request-object
2008-06-25T18:29:49  <zenhase> and one for final adjustments before the request is finished
2008-06-25T18:30:02  <zenhase> and this finalize method is used for cookie for example
2008-06-25T18:30:35  <johill> but you can't set the cookie at the end of the request
2008-06-25T18:30:41  <johill> output can already have gone out
2008-06-25T18:30:43  <zenhase> oh you can in wsgi
2008-06-25T18:30:56  <zenhase> no output gets sent until the end
2008-06-25T18:30:59  <johill> does it buffer everything?
2008-06-25T18:31:02  <zenhase> yes
2008-06-25T18:31:09  <johill> that sucks for serving attachments though, can you circumvent that?
2008-06-25T18:31:13  <zenhase> yes
2008-06-25T18:31:29  <zenhase> you don't buffer data
2008-06-25T18:31:41  <johill> hm?
2008-06-25T18:31:43  <zenhase> you just provide an iterable that streams the file
2008-06-25T18:31:56  <johill> oh ok
2008-06-25T18:31:58  <zenhase> that's the idea in wsgi
2008-06-25T18:32:12  <zenhase> you just pump out iterables
2008-06-25T18:32:24  <johill> right
2008-06-25T18:32:27  <zenhase> therefore you can also have nice generator-code everywhere if you want to
2008-06-25T18:32:39  <johill> ok, I can live with doing that change, although it does seem a bit gratuitous
2008-06-25T18:33:11  <zenhase> wsgi-servers can provide a wsgi.file_wrapper class/factory in the environ too, which can be used for wrapping up file-objects
2008-06-25T18:33:28  <zenhase> so servers can implement specialized fast file-sending operations
2008-06-25T18:33:37  <johill> nice
2008-06-25T18:33:41  <zenhase> (for example using sendfile beneath)
2008-06-25T18:33:56  <LotekThirteen> hi thomas or anybody else; same problem with the xapian search like yesterday (on moinmoin)
2008-06-25T18:33:57  <johill> if you want to be modern you have to say "splice" ;)
2008-06-25T18:34:08  <zenhase> splice
2008-06-25T18:34:10  <zenhase> ?
2008-06-25T18:34:13  <LotekThirteen> search for PDFAction shows only the attachment and not the main site
2008-06-25T18:34:16  <zenhase> what's splice? :D
2008-06-25T18:34:16  <LotekThirteen> see here http://moinmo.in/MoinMoinWiki?action=fullsearch&context=180&value=pdfaction&titlesearch=Titel
2008-06-25T18:34:34  <johill> zenhase: it's a new Linux system call that can transfer from almost any descriptor to any other, like pipes, network, files, ...
2008-06-25T18:34:42  <zenhase> oh yeah: also not working right now are many parts that use .form on request
2008-06-25T18:34:43  <johill> anyway
2008-06-25T18:34:59  <zenhase> which is because you don't need .form.get('foo',[''])[0] anymore
2008-06-25T18:35:11  <zenhase> have to change this code over time
2008-06-25T18:35:21  <zenhase> uses werkzeugs nice multidicts now :)
2008-06-25T18:35:23  <johill> I don't see much change between my session code and what you're proposing, so if I were you I wouldn't make the change just because you can save one function call ;)
2008-06-25T18:35:40  <zenhase> well, your session-code put the session unto request
2008-06-25T18:35:48  <zenhase> and returned a preliminary user-object
2008-06-25T18:36:01  <johill> huh? not user, request.session is a dict
2008-06-25T18:36:05  <johill> -like
2008-06-25T18:36:13  <zenhase> yeah
2008-06-25T18:36:25  <zenhase> session_handler.start puts this dict unto request right?
2008-06-25T18:36:46  <zenhase> and it returns a userobject if it finds auth-info in the session
2008-06-25T18:36:57  <johill> yeah
2008-06-25T18:37:09  <johill> could just return both I suppose
2008-06-25T18:37:14  <zenhase> na
2008-06-25T18:37:18  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3695:957844654722 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_creole_in.py creole_in.py):
2008-06-25T18:37:18  <CIA-52> Creole input converter - Fix newline handling
2008-06-25T18:37:18  <CIA-52> * MoinMoin/converter2/creole_in.py:
2008-06-25T18:37:18  <CIA-52>  Use lookbehind assertion to find newlines in paragraphs. Fixes other items
2008-06-25T18:37:19  <CIA-52>  directly after a line of text.
2008-06-25T18:37:21  <CIA-52> * MoinMoin/converter2/_tests/test_creole_in.py: Check for newline handling.
2008-06-25T18:37:24  <zenhase> i think it should only return session
2008-06-25T18:37:32  <zenhase> and don't do any sideeffects on the request-object
2008-06-25T18:37:40  <johill> what about the user object then?
2008-06-25T18:37:50  <zenhase> that's something for an AuthService ;)
2008-06-25T18:38:01  <zenhase> which i try to write right now with the code that's already there
2008-06-25T18:38:03  <johill> you're misunderstanding the code
2008-06-25T18:38:10  <johill> it only loads the user object from the session
2008-06-25T18:38:15  <zenhase> yeah
2008-06-25T18:38:22  <johill> how is that not session handling related?
2008-06-25T18:38:38  <zenhase> it's using the session, it's not about initiating the session
2008-06-25T18:38:54  <zenhase> at least that's what i thought about session-handling
2008-06-25T18:39:26  <zenhase> the auth-code can use the session then, to make a persisting user-object
2008-06-25T18:39:30  <johill> ok, right, if you want to be that strict, but you can't have a auth-from-session method I think
2008-06-25T18:39:33  <zenhase> that's what i thought
2008-06-25T18:39:44  <zenhase> why not?
2008-06-25T18:39:58  <johill> trying to remember
2008-06-25T18:40:19  <johill> we have that in 1.6 basically
2008-06-25T18:40:37  <zenhase> hmm
2008-06-25T18:41:11  <johill> I think the issue is that we don't always have a session, like in the anonymous_session_lifetime = None case
2008-06-25T18:41:35  <zenhase> btw. mitsuhiko: what's your opinion to the current status? some ideas?
2008-06-25T18:41:41  <zenhase> uh
2008-06-25T18:41:41  <johill> also something has to store the user into the session, right?
2008-06-25T18:41:52  <zenhase> yeah, that's something for the auth-code
2008-06-25T18:42:02  <johill> right
2008-06-25T18:42:05  <johill> so now think about it
2008-06-25T18:42:14  <johill> you now need three auth methods just to do the regular stuff
2008-06-25T18:42:25  <johill> auth_load_from_session, moin_login, auth_save_to_session
2008-06-25T18:42:26  <johill> or something
2008-06-25T18:42:41  <zenhase> do you?
2008-06-25T18:43:37  <johill> how else would it work?
2008-06-25T18:44:08  <johill> or do you just want to put both in the the request code?
2008-06-25T18:44:23  <johill> (or rather, the code that invokes auth)
2008-06-25T18:44:24  <zenhase> what about .auth_login(request)? and this methods looks into request.session first (already got a user? is there a session?), then authenticates via the authmethods (request.form) if there isn't and finally puts the info into the sesion
2008-06-25T18:45:09  <johill> remember to also invoke auth methods when a user exists already
2008-06-25T18:45:23  <zenhase> hmm?
2008-06-25T18:45:37  <johill> authmethod.request()
2008-06-25T18:45:56  <johill> so that http auth can work properly
2008-06-25T18:46:13  <zenhase> wait a second
2008-06-25T18:46:31  <zenhase> i take a look ... which file are we talking about right now?
2008-06-25T18:47:27  <johill> read the description in MoinMoin/auth/__init__.py
2008-06-25T18:47:44  <zenhase> ah ok
2008-06-25T18:47:59  <johill> pretty much _all_ of that is needed between http auth, the regular moin login and openid
2008-06-25T18:48:01  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3696:a24720cf84a6 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_html_out.py html_out.py):
2008-06-25T18:48:01  <CIA-52> HTML output converter - Support lists (unordered only)
2008-06-25T18:48:01  <CIA-52> * MoinMoin/converter2/html_out.py: Add limited support for lists.
2008-06-25T18:48:01  <CIA-52> * MoinMoin/converter2/_tests/test_html_out.py: Add testcases for lists.
2008-06-25T18:49:30  <zenhase> i don't really understand what this request-method does
2008-06-25T18:49:42  <johill> it's just called for every request
2008-06-25T18:50:47  <johill> look at MoinMoin/auth/http.py too
2008-06-25T18:50:56  <johill> anyhow
2008-06-25T18:50:59  <zenhase> ah there
2008-06-25T18:51:17  <zenhase> i was looking at MoinLogin and the openid-thingy
2008-06-25T18:51:35  <johill> moving that store/load user into/from session into the generic function should be fine
2008-06-25T18:52:01  <johill> otoh I just recommended some people to write a custom session handler to get integration between joomla and moin
2008-06-25T18:52:16  <johill> but I guess they can do that with the authmethod.request() method instead
2008-06-25T18:52:31  <zenhase> uh
2008-06-25T18:52:47  <zenhase> i misnamed my .auth_login method above btw
2008-06-25T18:53:03  <zenhase> it's actually something more like .request() from authmethod
2008-06-25T18:53:09  <mitsuhiko> zenhase: sorry, had a small problem
2008-06-25T18:53:16  <mitsuhiko> zenhase: sounds about right
2008-06-25T18:53:56  <johill> zenhase: the authmethod can't actually store the user stuff into the session though
2008-06-25T18:54:13  <johill> then you have a chicken & egg problem
2008-06-25T18:54:19  <johill> also it means you can no longer meaningfully chain auth methods
2008-06-25T18:54:24  <johill> (like openid + botbouncer)
2008-06-25T18:54:47  <johill> so it'd have to be done in the code that invokes all the auth/session handling to be around it all
2008-06-25T18:55:12  <zenhase> hmm
2008-06-25T18:55:17  <johill> I opted to put those few lines of code into the session handler, for no real reason I guess
2008-06-25T18:55:42  <zenhase> i still don't see the chicken-egg-problem
2008-06-25T18:56:09  <johill> no it's not much of a chicken&egg problem really, wrong train of thought
2008-06-25T18:56:49  <johill> the thing is this: you can chain auth methods like log in with openid and then ask botbouncer for confirmation
2008-06-25T18:57:12  <zenhase> i do see a problem with the anonymous-user-session-lifetime ... but then: does it mean (if set to None) that there are no sessions or that it's just a browser-session (cookie expires at close of browser)?
2008-06-25T18:57:16  <johill> if each auth method is forced to store the user into the session (as I understand you), the botbouncer authmethod would have to remove it again
2008-06-25T18:57:21  <johill> no sessions
2008-06-25T18:57:29  <zenhase> uh
2008-06-25T18:57:48  <johill> also auth method chaining is much nicer of they get a user obj instead of having to bother with the session
2008-06-25T18:58:04  <zenhase> yes of course
2008-06-25T18:58:22  <zenhase> the chaining is done by the AuthService methods :o
2008-06-25T18:58:34  <zenhase> it gives back the user_obj in the end
2008-06-25T18:58:44  <johill> so who stores the id into the session?
2008-06-25T18:59:08  <zenhase> hmm ... AuthService?
2008-06-25T18:59:31  <zenhase> actually i am now totally confused :)
2008-06-25T18:59:39  <johill> hrh
2008-06-25T18:59:42  <johill> heh
2008-06-25T18:59:51  <zenhase> let me take a step back and have a look at auth-methods again
2008-06-25T19:00:05  <johill> auth-methods aren't really that any more, they are auth objects
2008-06-25T19:00:52  <zenhase> i didn't meant to invoke the notion of a single method ;)
2008-06-25T19:01:35  <zenhase> hmm, what is botbouncer?
2008-06-25T19:02:08  <johill> it's a rather dumb web service that checks if a given URL has ever solved a captcha
2008-06-25T19:02:29  <johill> not extremely useful, but a good illustration
2008-06-25T19:03:02  <zenhase> hrhr
2008-06-25T19:09:46  <dreimark> htg bbl
2008-06-25T19:17:26  <zenhase> i will take a break for dinner now
2008-06-25T19:44:10  <dennda> johill: modernized?
2008-06-25T19:44:54  <johill> the theme
2008-06-25T19:47:48  <dennda> oO
2008-06-25T20:41:13  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3697:41c1de990ebc 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_creole_in.py creole_in.py):
2008-06-25T20:41:13  <CIA-52> Creole input converter - Support tables
2008-06-25T20:41:13  <CIA-52> * MoinMoin/converter2/creole_in.py:
2008-06-25T20:41:13  <CIA-52>  Port table support to new interface.
2008-06-25T20:41:13  <CIA-52> * MoinMoin/converter2/_tests/test_creole_in.py: Add testcases for tables.
2008-06-25T20:41:16  <CIA-52> Bastian Blank <bblank@thinkmo.de> default * 3698:6b93c4aaca2c 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_html_out.py html_out.py):
2008-06-25T20:41:19  <CIA-52> HTML output converter - Support tables
2008-06-25T20:41:21  <CIA-52> * MoinMoin/converter2/html_out.py:
2008-06-25T20:41:23  <CIA-52>  Add support for tables, only table-head and normal cell.
2008-06-25T20:41:25  <CIA-52> * MoinMoin/converter2/_tests/test_html_out.py: Add testcases.
2008-06-25T21:02:11  <CIA-52> Johannes Berg <johannes AT sipsolutions DOT net> default * 3738:5afc0a9e3fc3 1.7/MoinMoin/macro/TableOfContents.py: TOC: skip outer-most <ol> levels when page isn't using the biggest headings
2008-06-25T21:13:30  <johill> haha
2008-06-25T21:13:38  <johill> the WikiConfig is already useful
2008-06-25T21:13:46  <johill> I have a bunch of bogus settings on various wikis
2008-06-25T21:20:38  * johill cleans up settings
2008-06-25T22:02:46  <waldi> TheSheep: where does this 'inline' {{{bla}}} in the creole parser come from? i'm not able to find that in the spec
2008-06-25T22:04:16  <waldi> err, found it

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-06-25 (last edited 2008-06-24 22:15:02 by IrcLogImporter)