IRC log of #schooltool for Wednesday, 2008-06-18

*** alga has quit IRC00:15
*** tdoggette has joined #schooltool00:37
*** Lumiere has quit IRC01:13
*** didymo has joined #schooltool01:35
*** tdoggette has quit IRC02:30
*** tdoggette has joined #schooltool05:02
*** alga has joined #SchoolTool09:12
*** didymo has quit IRC13:54
*** ignas has joined #schooltool14:12
*** alga has quit IRC14:43
*** alga has joined #SchoolTool14:58
*** ignas has quit IRC15:09
*** wbrady has joined #schooltool15:38
*** wbrady has quit IRC15:53
*** ignas has joined #schooltool16:31
*** mgedmin has joined #schooltool16:48
*** wbrady has joined #schooltool17:00
aelkner__hey ignas17:54
aelkner__i found another bug17:54
aelkner__you see, i was using my sla setup17:55
aelkner__and it overrides app view17:55
aelkner__so it never went through the path of calendar17:55
aelkner__after what you said yesterday i disabled my override17:56
aelkner__and that cuased the calendar to come up without going to CAS server as you suggested17:56
aelkner__when i the clicked on log in, it took me to the CAS server17:56
aelkner__but when i filled in the credentials17:57
aelkner__it returned me to a failed page17:57
aelkner__that's because the bug was17:57
aelkner__that url=localhost:7080/auth/login17:57
aelkner__that page dosen't exist17:57
aelkner__so i changed the login view to pas CAS url = localhost:708017:58
aelkner__that way it returned with no problem17:58
ignasi guess it's a sane thing to do17:58
aelkner__i don't remember what you told me about lyceum using CAS17:59
aelkner__did you say they are currently using it?17:59
ignasi said they were not using it at the moment17:59
aelkner__ok, never mind17:59
aelkner__so despite the frustration i have experienced over the past past couple of weeks18:00
aelkner__i have really learned some great things18:00
aelkner__and i developed, out of necessity, a great trace debugging tool18:00
aelkner__i basically wrote a stack trace tool that prints out the stack18:01
aelkner__with selected local variables under the methods that they belong to18:01
ignasby the way - if you will ever want to add stub CAS server to functional tests - the secret is to make it ++etc++CAS for example, that would go around schooltool authentication utilities18:01
ignaspreventing double authentication attempts18:01
ignasor ++cas++18:02
ignasputting it outside of "site"18:02
ignasjust in case you'll ever need that18:02
th1aignas: Does this look sane?
ignasth1a: i have an allergy for lines over 80 characters long18:03
th1aOK, it is an insane URL...18:03
ignas    make html  is enough18:03
ignasno not url18:03
ignasthe text file ;)18:03
th1aOh, right.18:03
ignasmake html will do ""18:03
ignasif it does not - i'll fix it! ;)18:04
aelkner__ignas: sorry, i'm not sure what you meant with the whole ++cas++ thing above18:06
ignasaelkner__: the problem with having CAS stub server as plain views on schooltool is that these views are "in the site"18:06
ignasthe site is the schooltool application, so it uses local authentication utilities18:07
ignaswhich messes things up18:07
ignasif you put the CAS server outside of the site18:07
ignasby using namespaces18:07
ignasyou get around the site utilities18:07
aelkner__how does it authorize?18:07
ignasI had to do the reverse to make ++etc++process views18:07
ignasactually use schooltool authentication18:08
ignasi think it uses Zope3 authenticatio mechanism, principals in zcml18:08
ignasso if you put zope.Public18:08
ignasas the permission - you just shortcircuit it18:08
ignasto not look for anything anywhere I think18:08
aelkner__do you think we could hold off on my looking into that for now and look at that together in Vilnius?18:09
aelkner__i can finish up the unit tests either today or tomorrow18:10
ignasyeah, i know you won't do that now18:10
aelkner__and then maybe work on the functional tests after Vilnius18:10
ignasi just wanted you to know that there *is* a solution18:10
aelkner__so can i run a trace by you real quick18:10
aelkner__verbally, that is18:10
aelkner__i've saved it in a doc for my sanity and to share it18:11
aelkner__i can just post it here cause it's only ten or so lines18:11
ignaslisppaste5: url18:11
lisppaste5To use the lisppaste bot, visit and enter your paste.18:11
ignaswould be a bit better18:11
ignasit gives syntax hightlighting  ;)18:12
aelkner__it's only words18:12
aelkner__no code18:12
aelkner__here goes18:12
aelkner__i clear the session cookies and visit localhost:7080 for the first time18:12
aelkner__    zope's publisher traverses to app and calls plugin which redirects to CAS, service=localhost:7080?CAS=118:12
aelkner__    publisher continues traversing to app/index.html which calls plugin which redirects to CAS, same service18:12
aelkner__    publisher calls index.html view of app which redirects to localhost:7080/calendar18:12
aelkner__    publisher seems to start over traversing to calender view of app18:12
aelkner__    this would seem to be a result of the redirect to localhost:7080/calendar18:12
aelkner__    perhaps last redirect is the one that counts18:12
aelkner__    as a result it ignoring the CAS redirects18:12
aelkner__    anyway, traversal to calender view of app causes plugin to redirect to CAS again,18:12
aelkner__        this time with service = localhost:7080/calendar?CAS=118:12
aelkner__    publisher starts over again, but this time for localhost:7080/calendar?CAS=118:12
aelkner__    this causes plugin NOT to redirect to CAS, but rather save the None principal in the session18:12
aelkner__        (as ignas explained yesterday)18:12
aelkner__    the calendar is finally rendered in the browser18:12
aelkner__a couple of questions about this18:13
aelkner__is it true that a second redirect (or third or fourth) blows away the preceeding one?18:14
aelkner__it would seem to be the case18:14
ignasyes, the redirect does not "happen" you just set the response to be a redirect, it will only happen when that response will get rendered18:14
aelkner__when the publisher exist, right?18:15
aelkner__good, then i understand that better now18:15
aelkner__second question18:15
aelkner__you see the part where the publisher starts again with localhost:7080/calendar?CAS=18:16
aelkner__how did that happen when the rediret was for the CAS server18:16
aelkner__it would seem that the CAS server redirected back to use18:16
aelkner__using the service?18:16
ignasthe localhost/calendar?CAS=1 was the "parameter" for the CAS server18:16
aelkner__but why would it not force a log in18:17
ignasthat told CAS server where to redirect us *after* the authentication18:17
aelkner__but i wasn't forced to authenticate18:17
ignaswell - because there is "if "CAS" in request: DO NOT AUTHENTICATE"18:17
ignashmm, oh18:17
ignasi think there is a way to tell CAS to "just return the token, do not show the form"18:18
ignascan't recall precisely now18:18
aelkner__i was hoping to not have to look at the ruby code just yet18:19
ignaslooking at the code18:19
ignasthe parameter is gateway=true18:19
ignascan't tell you exactly what it does18:20
ignasCAS documentation should tell you18:20
ignasbut it is "the machine" interface for CAS18:20
ignasso "authenticate" method18:20
ignasonly tries to "authenticate"18:20
ignasfind out who you are, without enforcing that18:20
ignaswhile if you are "unauthorized" to see something18:20
ignasthen the utility forces you to enter login and password18:21
ignasinstead of just "querying" the server18:21
aelkner__the renew flag18:21
ignasjust plain login request18:22
*** Lumiere has joined #schooltool18:22
ignaswithout gateway=true18:23
aelkner__oh, gateway makes it not force login18:23
aelkner__but i seem to remember needing to add renew to unauthorized to stop the infinite redirects18:24
ignaswell - you can "ask for login"18:25
ignas"ask for login, but if there is none - just make it go back"18:25
ignasand "ask for login forcing it even if there already is a login"18:25
aelkner__that's the renew18:26
ignasthe last one is revew18:26
ignasthe second one is "gateway"18:26
ignasthe first one is the default mode of operation18:27
aelkner__where do you find the docs for rubycas?18:30
ignasnot sure about rubycas18:31
ignasi used the CAS docs18:31
ignasi mean - rubycas is just an implementation of the standard protocol18:31
aelkner__could you give me a link to the CAS docs?18:32
aelkner__i just have the google code page18:33
aelkner__ah that's better18:33
ignas is the website of the more or less reference implementation18:34
ignasof CAS18:34
aelkner__that's a great site18:34
aelkner__that will prove most helpful18:34
aelkner__this way i'll understand why you coded it the way you did18:35
aelkner__ignas: i got dropped off the network18:40
aelkner__did you send any messages after i said "this way i'll understand why you coded it the way you did"18:40
aelkner__if you did, i missed them18:41
aelkner__thatnks th1a18:42
aelkner__th1a: i18:42
aelkner__i'm going to study the cas situation another day to try and understand as much as i can18:42
aelkner__and i'll finish the unit tests either today or tomorrow18:43
aelkner__at EuroPython, we should talk functional tests18:43
aelkner__that i could work on when i return18:43
aelkner__sound like a plan?18:43
*** alga_ has joined #SchoolTool18:44
th1aThat sounds reasonable.18:45
*** alga has quit IRC18:58
*** alga_ has quit IRC19:01
*** alga has joined #SchoolTool19:01
*** jelkner has joined #schooltool19:24
jelknerwbrady: u there?19:24
jelkneranybody home?19:29
jelknerthe cando meeting starts now, doesn't it?19:30
*** wbrady has quit IRC20:00
*** wbrady has joined #schooltool20:12
*** jelkner has quit IRC20:27
*** jelkner has joined #schooltool20:53
*** ignas has quit IRC20:55
wbradyjelkner: did you need me earlier?20:58
*** mgedmin has quit IRC20:59
jelknerwbrady: 5735 is not answering21:18
*** jelkner has quit IRC21:19
*** alga has quit IRC21:32
*** wbrady has quit IRC22:06
*** th1a_ has joined #schooltool23:30
*** th1a has quit IRC23:44
*** tdoggette has quit IRC23:47

Generated by 2.15.1 by Marius Gedminas - find it at!