2006-02-26T01:01:13  <ThomasWaldmann> xorAxAx: blickfangpunkt is not from me
2006-02-26T10:45:02  <xorAxAx> ThomasWaldmann: hmm, ok
2006-02-26T18:42:13  <ThomasWaldmann> ok, concerning auth stuff:
2006-02-26T18:42:34  <ThomasWaldmann> i am now initializing user_obj to None
2006-02-26T18:42:51  <ThomasWaldmann> then give that to first auth method as kw arg user_obj
2006-02-26T18:43:18  <ThomasWaldmann> the auth method then return a new value for user_obj and the continue_flag
2006-02-26T18:44:27  <ThomasWaldmann> continue_flag often should be True, to give other methods a chance (even if we already have determined a user)
2006-02-26T18:45:30  <ThomasWaldmann> if an auth method can't make a user object from the data it gets, it just returns what it got from kw arg user_obj
2006-02-26T18:47:29  <ThomasWaldmann> the only situation when it should return None as user_obj is maybe if it wants to say "no way for this guy!", kind of veto
2006-02-26T18:48:07  <ThomasWaldmann> comments?
2006-02-26T18:49:32  * ThomasWaldmann moved almost all cookie stuff to auth.py, btw
2006-02-26T18:52:08  <ThomasWaldmann> bbl
2006-02-26T19:01:43  <starshine> I like that
2006-02-26T19:02:17  <starshine> we can test between None returned and a rather blank object easily
2006-02-26T19:02:47  <starshine> None + continue_flag false == veto
2006-02-26T19:03:10  <starshine> None + contine_flag true == I can't do this, someone else auth it?
2006-02-26T19:03:59  <starshine> if it gets handed an object it wants to ditch it should free it though..?
2006-02-26T19:04:21  <starshine> I'd think clearing the object should be outside the auth spaces.
2006-02-26T19:08:20  <ThomasWaldmann> python's garbage collecter frees it
2006-02-26T19:10:13  <ThomasWaldmann> btw, i did log out by creating a user object (as when no logout action takes place), but then setting user.valid = 0
2006-02-26T19:10:44  <ThomasWaldmann> this and returning continue_flag = True makes it possible to do other "logout stuff" for that user
2006-02-26T19:11:21  <ThomasWaldmann> e.g. a umount for that user name (i needed this for smb stuff)
2006-02-26T19:12:26  <ThomasWaldmann> i also added some "log" auth method that just logs what it gets (except password)
2006-02-26T19:13:05  <starshine> cool, sounds perfect/
2006-02-26T19:15:19  <starshine> we could have other "odd" auth methods like timerange
2006-02-26T19:15:34  <starshine> person can only login during business hours, or somesuch silliness
2006-02-26T19:16:11  <ThomasWaldmann> sure. to be implemented by whom that needs. :)
2006-02-26T19:17:10  <starshine> any thoughts on groupmembership retrieval from such methods?
2006-02-26T19:17:39  <ThomasWaldmann> None yet
2006-02-26T19:18:11  <starshine> hard to return two objects :/
2006-02-26T19:18:21  <starshine> .o( maybe not
2006-02-26T19:18:52  <ThomasWaldmann> the group list could be part of the user object
2006-02-26T19:19:17  <starshine> yes and then various auth could "tack in" memberships
2006-02-26T19:19:40  <starshine> moin will then have to "tack in" its own from the relevant __Group pages
2006-02-26T19:20:17  <ThomasWaldmann> i think that group stuff will have to wait a bit
2006-02-26T19:20:32  <ThomasWaldmann> until the stuff already done is stable and out
2006-02-26T19:21:01  <starshine> yeah
2006-02-26T19:21:48  <ThomasWaldmann> i am rather working on some better virtual page stuff, the current stuff is a hack
2006-02-26T19:21:59  <starshine> that sounds more useful then
2006-02-26T19:22:17  <starshine> group stuff presently may be limited, but it isn't broken :)
2006-02-26T19:22:54  <ThomasWaldmann> and not to forget: that _ stuff
2006-02-26T19:23:15  <starshine> groan, yeah.
2006-02-26T19:24:02  <ThomasWaldmann> although it looked nice first, it makes too much troubles if you want to have filenames and pathes in path_info
2006-02-26T19:56:19  <xorAxAx> ThomasWaldmann: i will write a test that tests the egw auth modul
2006-02-26T19:56:19  <xorAxAx> e
2006-02-26T19:56:53  <ThomasWaldmann> ok
2006-02-26T20:13:26  <ThomasWaldmann> mm site now runs on new code
2006-02-26T20:21:47  * ThomasWaldmann committed
2006-02-26T20:59:16  <nwp> the rest of us merely "involved" ;-)
2006-02-26T21:00:30  <xorAxAx> yeah, we should lament him
2006-02-26T21:17:59  <ThomasWaldmann> hehe
2006-02-26T21:22:58  * ThomasWaldmann moved action=raw implementation to Page object
2006-02-26T21:26:29  <starshine> where was it before?
2006-02-26T21:27:16  <ThomasWaldmann> in wikiaction :) (and a stub still is)
2006-02-26T21:32:29  <xorAxAx> but the storage layer should not mind about the representation
2006-02-26T21:32:35  <xorAxAx> i mean the view
2006-02-26T21:36:15  <ThomasWaldmann> if you use virtual pages, you need it there
2006-02-26T22:22:30  * ThomasWaldmann writes YAMS (yet another mig script)
2006-02-26T22:22:57  <xorAxAx> why is that?
2006-02-26T22:23:29  <ThomasWaldmann> because of _ in storage filenames
2006-02-26T22:24:38  <xorAxAx> can you start to add a tagfile that stores the current storage-level-info?
2006-02-26T22:24:49  <xorAxAx> moin-storage.dat or something like that
2006-02-26T22:24:54  <xorAxAx> with a simple integer in it
2006-02-26T22:25:10  <xorAxAx> then you can automate mig scripts quite easily
2006-02-26T22:28:22  <starshine> the problem of whether people had or hadn't cleaned out their system-pages and move to underlay hasn't been scripted neatly yet though
2006-02-26T22:28:45  <xorAxAx> starshine: you cannot automate that :)
2006-02-26T22:28:51  <xorAxAx> starshine: there is a macro that helps migration
2006-02-26T22:29:45  <starshine> actually, we know all the naems that were system pages in the old 1.2 (if we ask it when it's empty and subtract some critical ones)
2006-02-26T22:30:15  <xorAxAx> but you dont know if they have been edited or not
2006-02-26T22:30:16  <starshine> we could have a script go through those looking for any that got revisions, if they did then keep them otherwise scrub them out
2006-02-26T22:30:32  <starshine> those that have, get revisions. storage is the same :)
2006-02-26T22:31:08  <starshine> you could have it spout a list of ones that got revised, as a warning.
2006-02-26T22:31:22  <xorAxAx> starshine: all have got revisions, at least one
2006-02-26T22:31:27  <xorAxAx> so this doesnt work :)
2006-02-26T22:31:35  <starshine> but if they only have one.. and they came with it..
2006-02-26T22:31:48  <xorAxAx> if they just have one, it could be still an edited new underlay page
2006-02-26T22:31:57  <starshine> uh
2006-02-26T22:32:04  <starshine> I'm talking about 1.2/earlier sets
2006-02-26T22:32:13  <starshine> that didn't have underlay but you want to move to one
2006-02-26T22:32:14  <xorAxAx> even if the date is older than the one of the underlay file, then it could be an older new edited underlay file
2006-02-26T22:32:18  <xorAxAx> i am too
2006-02-26T22:32:47  <xorAxAx> but you cannot assume that system pages werent edited since migration
2006-02-26T22:32:57  <starshine> .o( let's keep the word underlay for real underlays
2006-02-26T22:32:58  <xorAxAx> because of the concept of these migration scripts
2006-02-26T22:33:45  <starshine> does anything store the date that the migration was run?
2006-02-26T22:33:52  <xorAxAx> no
2006-02-26T22:34:18  <xorAxAx> ThomasWaldmann: you could even make a log file out of it, as starshine suggest
2006-02-26T22:34:18  <xorAxAx> s
2006-02-26T22:34:22  <xorAxAx> ThomasWaldmann: what do you think?
2006-02-26T22:34:30  <starshine> I could handle the case where someone has never yet migrated though
2006-02-26T22:40:41  <ThomasWaldmann> http://refactor.wikiwikiweb.de/WikiCourse/BasicIntroduction/060%20How%20do%20I%20navigate%3F
2006-02-26T22:40:57  <ThomasWaldmann> it looks like this without the _ hack
2006-02-26T22:42:24  <xorAxAx> which is ugly
2006-02-26T22:42:29  <xorAxAx> and it breaks old links
2006-02-26T22:43:13  <xorAxAx> ThomasWaldmann: why cannot you use a bijective function for wiki pages which is not used for your virtual pages?
2006-02-26T22:43:37  <xorAxAx> that should be the clean and compatible way to get this work
2006-02-26T22:43:39  <xorAxAx> ing
2006-02-26T22:43:48  <ThomasWaldmann> i am not sure making it even more complicated is right
2006-02-26T22:44:05  <ThomasWaldmann> see nir's comment
2006-02-26T22:44:25  <xorAxAx> argh, it would make it simpler
2006-02-26T22:45:18  <xorAxAx> it just sucks if you upgrade your wiki, all links got more ugly and old external links are broken
2006-02-26T22:45:27  <xorAxAx> in a minor revision even
2006-02-26T22:45:39  <ThomasWaldmann> make a concrete better suggestion
2006-02-26T22:45:59  <xorAxAx> as i said - replace("_", " ") is still done for wiki pages but not for your pages
2006-02-26T22:46:16  <xorAxAx> which should be nicely boxable in OOP logic
2006-02-26T22:47:08  <ThomasWaldmann> == not in moin
2006-02-26T22:47:17  <xorAxAx> ?
2006-02-26T22:47:26  <xorAxAx> what do you mean?
2006-02-26T22:47:47  <ThomasWaldmann> since when is moin nice boxable oop logic?
2006-02-26T22:48:02  <xorAxAx> umm, i am talking about the page class and the virtual page class
2006-02-26T22:48:29  <xorAxAx> in this case it just means that the page class has function which does lambda x:x.replace("_", " ") and the VP class does lambda x:x
2006-02-26T22:49:20  <ThomasWaldmann> ok, so move _ stuff from request/wikiutil to page class
2006-02-26T22:49:28  <xorAxAx> exactly
2006-02-26T22:49:35  <xorAxAx> isnt there already a normalizepagename function?
2006-02-26T22:49:38  <xorAxAx> it could do it
2006-02-26T23:02:53  <ThomasWaldmann> there is, but in request.py
2006-02-26T23:03:04  <xorAxAx> oh
2006-02-26T23:07:06  <ThomasWaldmann> it seems that it could be moved to Page.__init__
2006-02-26T23:13:10  <ThomasWaldmann> and this is only the one way, the other way is in wikiutil
2006-02-26T23:16:00  <ThomasWaldmann> and if we unify attachments and pages, a common method would be cleaner
2006-02-26T23:16:07  <xorAxAx> of course
2006-02-26T23:17:05  <xorAxAx> its important to not mix the levels here, we have a file system represenattion, an URL representation, an urldecoded url representation, a normalised pagename and a pagename that is different than the normalised pagename but belongs to the same page
2006-02-26T23:17:46  <xorAxAx> btw, i would search for replace("_" in the code - there are some manual substitutions ...
2006-02-26T23:19:21  <ThomasWaldmann> i already removed them (4 places)
2006-02-26T23:20:01  <ThomasWaldmann> 3 wikiutil, 1 request
2006-02-26T23:21:58  <xorAxAx> there is at least one in the search code :)
2006-02-26T23:22:08  <xorAxAx> (hey, this is like easter egg search :))
2006-02-26T23:22:33  <xorAxAx> yep, its still there
2006-02-26T23:22:54  <xorAxAx> (of course you have to replace it by a normalise call)
2006-02-26T23:25:40  <ThomasWaldmann> with wikiutil as it is, i dont think this can be done
2006-02-26T23:29:09  <xorAxAx> hmm, why?
2006-02-26T23:29:19  <xorAxAx> e.g. in search, it just needs the normalised page name
2006-02-26T23:35:18  <ThomasWaldmann> because of *quotewikiname* calls all over the place?
2006-02-26T23:35:56  <xorAxAx> quote?
2006-02-26T23:36:03  <xorAxAx> what is quotewikiname?
2006-02-26T23:36:21  <ThomasWaldmann> * = wildcard
2006-02-26T23:36:37  <xorAxAx> /quotewikiname doesnt yield any hits
2006-02-26T23:37:43  <ThomasWaldmann> because of *quoteWikiname* calls all over the place?
2006-02-26T23:45:35  <xorAxAx> umm, the FS/URL representation is not related to quoting wikinames
2006-02-26T23:45:37  <xorAxAx> as i said above
2006-02-26T23:46:03  <xorAxAx> those are at least 3 different things and i guess you arent touching the fs representation currnetly
2006-02-26T23:46:21  <xorAxAx> (neither the url representation)
2006-02-26T23:47:24  <xorAxAx> so - where would those "calls over the place" be?
2006-02-26T23:53:14  <xorAxAx> this is a thing about normalisation. like the code currently already throws away some unicode characters and replaces empty pages names with a token, it is changing/normalising the name
2006-02-26T23:54:07  <ThomasWaldmann> the ' ' -> '_' thing is done there
2006-02-26T23:54:24  <xorAxAx> hmm, yeah
2006-02-26T23:54:39  <xorAxAx> so Page gets a denormalise function
2006-02-26T23:54:51  <xorAxAx> or beautify or etc.
2006-02-26T23:55:10  <xorAxAx> this results in a lot of changes at call sites obviously :-/
2006-02-26T23:55:59  <xorAxAx> while cleaning up the callers, one might insert the URL-class handling
2006-02-26T23:56:16  <xorAxAx> (and actually kill quoteWikinameURL )

MoinMoin: MoinMoinChat/Logs/moin-dev/2006-02-26 (last edited 2007-10-29 19:20:32 by localhost)