IRC log of #schooltool for Monday, 2009-11-16

*** replaceafill has joined #schooltool00:53
*** ignas has quit IRC02:06
*** lisppaste5 has quit IRC03:13
*** replaceafill has quit IRC03:15
*** lisppaste5 has joined #schooltool03:29
*** pcardune has joined #schooltool03:34
*** alga has joined #SchoolTool03:50
*** dlobo has joined #schooltool04:48
*** chrisalfano has joined #schooltool04:56
*** replaceafill has joined #schooltool05:14
replaceafillhi chrisalfano05:14
chrisalfanohey05:15
*** chrisalfano has left #schooltool07:22
*** ignas has joined #schooltool07:35
*** dlobo has quit IRC07:38
*** pcardune has quit IRC08:36
*** pcardune has joined #schooltool09:38
*** yvl has joined #schooltool09:46
*** pcardune has quit IRC09:58
replaceafillyvl, ping10:07
yvlpong, replaceafill10:07
replaceafillhey yvl10:07
replaceafilli have philosophical question :D10:07
yvlgo ahead! :)10:07
replaceafillis there any difference between an instructor and a teacher?10:08
replaceafillteacher is a group right?10:08
replaceafilland instructor... just a crowd?10:08
yvlboth are crowds10:08
yvlone checks membership in 'Teachers' group10:09
yvlthe other checks if the logged-in person is an instructor of another person in any of his sections10:09
replaceafillah ok10:09
replaceafilli ask you because of a sla bug10:10
replaceafillwhere teachers cannot see others section narratives10:10
replaceafillbecause they are not instructors in those other sections10:11
yvlI guessed that much :)10:12
replaceafill:|10:12
replaceafilladding TeachersCrowd(self.context).contains(principal) to the InstructorsCrowd fixes the problem?10:13
yvlyou meant "to the Intervention crowd" ?10:14
replaceafillno, report card narratives is part of the schooltool.gradebook10:15
replaceafillthe unauthorized comes from the gradebook.Gradebook class10:16
yvlok, we're maybe talking about a different bug then10:16
yvlLP link?10:16
replaceafillhttps://bugs.launchpad.net/schooltool.intervention/+bug/47933210:16
yvlthanks10:16
replaceafillthese are the ones who can access those narratives: <AggregateCrowd crowds=[<InstructorsCrowd>, <AggregateCrowd crowds=[<ManagersCrowd>, <AdministratorsCrowd>, <ClerksCrowd>]>]>10:17
replaceafilland i talked to chris alfano and he agreed on any teacher having access to other teachers section10:19
replaceafill"it's better than making them all administrators"10:19
replaceafillhe said10:19
yvlhmm, I see then10:20
ignasreplaceafill, does it really make sense?10:20
replaceafillignas, ?10:20
ignasyou will suddenly allow all teachers see all student data and do grading for all sections10:20
ignasif you will add teachers to the instructors crowd10:21
replaceafilli know10:21
ignasi'd rather allow teachers perform whichever operation is in question10:21
ignaslike - allow teachers see sections10:21
replaceafill"it's not a fear though"10:21
ignasnot make all teachers instructors10:21
yvlreplaceafill, a moment, reading code...10:21
yvlignas: yes, this is the right solution10:21
yvlI would never, ever, allow to tweak the section.Instructors crowd that way :)10:22
replaceafillyvl, i know :)10:22
yvlumm, replaceafill, where the heck is the narrative code exactly?10:23
replaceafillthe sla package is in SLA instance10:24
replaceafilli guess it's in the branches too10:24
replaceafilllet me see10:24
yvlah, right10:24
yvlthanks :)10:24
replaceafillhttps://code.launchpad.net/~schooltool-owners/schooltool/sla10:25
replaceafillSLA is using https://code.launchpad.net/~aelkner/schooltool/schooltool.intervention_migrate_sla though10:26
yvlok... so in the narratives view there's only a bunch of links, right?10:29
replaceafillyes10:29
yvlI'd bump permission to schooltool.view for that view, if Chris is OK10:29
yvland then build an aggregate crowd for schooltool.sla.narrative.interfaces.INarrative10:30
yvl(and 'schooltool.edit')10:30
yvland set it to whatever you want :)10:30
replaceafillah!10:30
yvlyou might need to write adapter from INarrative to ISection10:32
yvlif there isn't one10:32
replaceafillas you said the view is protected with schooltool.edit:10:36
replaceafill  <page10:36
replaceafill      name="view.html"10:36
replaceafill      for="..interfaces.IStudentGradebook"10:36
replaceafill      class=".gradebook.StudentGradebookView"10:36
replaceafill      template="student_gradebook.pt"10:36
replaceafill      permission="schooltool.edit"10:36
replaceafill      />10:36
replaceafillsorry for flooding10:36
yvlwait10:37
yvlI was talking about the narratives view10:37
yvl(I don't have the instance up and running, so...)10:37
replaceafillno prob10:37
yvlis it accessible only from gradebook?10:38
replaceafillit's a gradebook view10:38
yvlthe narratives10:38
replaceafillok10:38
replaceafillhttp://localhost:7080/schooltool.interventions/2009/douglas10:38
replaceafilltakes you to a page with:10:38
yvlnot this one?       name="narratives.html"10:38
yvl      for="schooltool.course.interfaces.ISection"10:38
yvl      class=".narrative.NarrativesView"10:38
replaceafillah no10:39
yvlumm, you can reach douglas' interventions via the big "Interventions" tab10:40
yvlthere's a search there10:40
replaceafillyes10:41
yvldouglas' interventions view is not related in any way with gradebook, right?10:42
replaceafillno10:42
replaceafillbut it has links to gradebook views10:42
replaceafilllike: http://localhost:7080/schoolyears/2009-2010/term/sections/164/activities/2009-2010_term-2/gradebook/douglas/view.html10:42
replaceafillReport Sheets10:42
*** ignas has quit IRC10:44
yvlso "naratives" are actually "Report Sheets"?10:44
replaceafillyvl, yes :)10:45
replaceafilli was confused by the "narratives" package also10:45
replaceafillsince the bug says "narratives" too10:45
yvlyou sure? :)10:45
replaceafillbut i asked chris and he told me it was "report sheets"10:45
yvlouch10:45
yvlumm, can you fix the Bug title / description10:46
replaceafillah ok10:46
yvlthanks10:47
yvlgonna make me some coffee10:47
yvlbrb10:47
replaceafillok10:47
replaceafillbring some :P10:47
yvl:P10:51
yvlok then10:52
yvlwhich views exactly cause the problem?10:52
yvlnot the gradebook itself, right?10:52
replaceafillfrom what i've seen, you get to http://localhost:7080/schoolyears/2009-2010/term/sections/164/activities/2009-2010_term-2/gradebook/douglas/view.html10:53
replaceafillthen a crowd is looked for view.html and there's none10:53
replaceafillthen the crowd logic starts to go to each parent10:53
replaceafillnext douglas (a student gradebook)10:53
replaceafillnext gradebook (a gradebook.Gradebook)10:54
replaceafillhere is where i get the Unauthorized10:54
replaceafillbecause for the "gradebook" you get the crowds i pasted you above10:54
replaceafilland the teacher is not in there10:55
yvlyes, that's right10:55
replaceafillso you get False10:55
replaceafilland the Unauthorized10:55
yvlI'm starting up my schooltool instance10:55
replaceafilland then the login page10:55
replaceafilland then frustration10:55
replaceafilland then...10:55
replaceafill:P10:55
*** replaceafill has quit IRC10:58
*** replaceafill has joined #schooltool10:59
*** mgedmin has joined #schooltool11:00
yvlit's an UI nightmare11:01
replaceafill:(11:01
yvlok, if I got it right...11:02
yvlReport Sheets are those deployable thingies11:02
yvlthat are basically normal Worksheets11:02
yvlbut for some reason are deployed for the whole term11:03
replaceafillthe whole term?11:03
yvlseems so11:04
yvlif we are talking about *Report Sheets*11:04
replaceafill                sheet = {11:05
replaceafill                    'url': '%s/gradebook/%s/view.html' % (worksheet_url,11:05
replaceafill                        studentId),11:05
replaceafill                    'text': title11:05
replaceafill                    }11:05
replaceafillin sla/src/schooltool/intervention/browser/11:05
replaceafillintervention.py11:05
*** Lumiere has quit IRC11:06
*** Lumiere has joined #schooltool11:06
yvlok, so yes11:08
yvlthose use deployed Report Sheets11:09
yvl(you create them in Manage->Report Sheet Templates)11:09
yvl(then deploy them for a term - maybe it's possible to deploy them on a section, I don't know)11:09
replaceafillah!11:10
yvlthose essentially take you to the student's gradebook11:10
yvland get you... drumroll... to student grading views11:10
replaceafill:D11:10
yvlso if you allow them access to those views, you allow them to grade students, period.11:10
replaceafillah, i was wondering how they were created and why are not editable11:11
replaceafillin the gradebook views11:11
yvl(unless theres some macaroni I haven't found that allows you to go around that)11:11
yvlso the bug actually belongs to shcooltool.gradebook11:11
yvlouchy11:17
replaceafill?11:18
yvlI have no idea how it should be fixed easily11:18
replaceafill:D11:18
yvlfrom my point of view, you need to create 'schooltool.view' view for, umm, gradebook student or something (the one you traverse from the worksheet gradebook view)11:19
yvlthe thing is, index.html is taken :)11:19
replaceafillyes11:19
yvlsoo...11:20
yvlhack it to overview.html maybe?11:20
yvland let Alan deal with renaming :)11:20
replaceafill:)11:20
*** ignas has joined #schooltool11:22
yvlYou'll need to write the view though11:23
yvland I guess change the intervention links11:23
yvlto point it to the correct place11:23
replaceafillso, a new view to "display" the report sheet11:24
yvlbwahahahaha11:26
yvlyou know, there's already such a view :D11:26
replaceafill:|11:26
yvlsorry, I was laughing at the situation, not at your comments of course11:26
replaceafill:P11:26
yvlit seems that you just need to append view.html at the end of your link :D11:27
replaceafillit's there!11:27
replaceafillthat's the view we're getting to11:27
replaceafillthe problem is the gradebook object11:27
yvlok, I see now11:28
replaceafillcould we say, "let anyone in the teachers crowd to access the view.html"11:28
replaceafillthat way, the view.html would have a crowd11:29
replaceafilland the getParent(obj) won't be necessary11:29
yvllet anyone in 'Teachers' crowd have 'schooltool.view' permission for IStudentGradebook11:31
replaceafillah yes11:31
yvl"administration section_instructors teachers"11:32
yvlI didn't check if that will let you bass the gradebook itself11:33
yvlbut I guess it should work if going directly from interventions11:33
yvlplease throw heavy objects at me if it doesn't ;)11:34
*** alga has quit IRC11:47
replaceafillyvl, ping12:02
yvlpong12:03
replaceafillyvl, if a view is protected with schooltool.edit, is it "secure" to remove the context proxy in the view class?12:10
replaceafillif the context class is protected also with schooltool.edit12:10
replaceafillor is removeSecurityProxy pure evil?12:11
*** alga has joined #SchoolTool12:12
yvlpure evil12:12
replaceafillis it sign of a bad design?12:12
yvlguess :D12:13
replaceafill:P12:13
yvlcontext is IGradebook?12:14
replaceafillIStudentGradebook12:14
replaceafillwhich in turn has a IGradebook12:14
yvloh the awfulness12:15
replaceafill:)12:15
yvlis the context protected with 'schooltool.edit' or it's parent?12:16
replaceafillwow, IStudentGradebook is and adapter of (IBasicPerson, IGradebook)12:18
replaceafillIGradebook in turn is an adapter for IWorksheet12:18
replaceafill:|12:18
yvlwell.  yes.12:19
yvlschooltool.gradebook.gradebook.StudentGradebookTraverser gets the first one12:19
yvl(use protective goggles and gloves when looking at the code)12:19
replaceafilland IWorksheet is protected with schooltool.edit12:19
replaceafill:))12:20
yvlweird12:22
yvlit should be protected with schooltool.view12:22
yvlhow did you check that it's the one that needs 'schooltool.edit'?12:23
replaceafill?12:23
yvlwhy do you think that IWorksheet is protected?12:24
replaceafillah no, i was playing with crowds and access control12:25
replaceafilland noticed that StudentGradebookView was giving me an Unauthorized12:26
replaceafillbecause of this: gradebook = proxy.removeSecurityProxy(self.context.gradebook)12:26
replaceafillthat is: IStudentGradebook.IGradebook12:26
ignasyvl, paying the price of model level security are we ;)12:37
yvlyes12:40
yvl(sarcasm)12:40
yvl*somebody* reused *a view* with permissions12:41
yvlto get to *an object*12:41
yvlor no, wait12:41
yvlsomebody put *wrong* permissions on *a view*12:42
yvl'schooltool.edit' on 'view.html'12:42
yvlriiight12:42
replaceafill:D12:42
replaceafilledit -> view :|12:43
yvlyep12:43
lisppaste5yvl pasted "untitled" at http://paste.lisp.org/display/9047912:44
replaceafillwow, simple!12:45
yvlplease ftest it... :)12:48
replaceafilldoesnt work :(12:48
replaceafillwhat the... <class 'zope.security.interfaces.Unauthorized'>:12:51
replaceafill(<schooltool.gradebook.gradebook.Gradebook object at 0xd10ae0c>, 'getDueDateFilter', 'schooltool.view')12:51
replaceafillflag, weeks = self.context.gradebook.getDueDateFilter(self.person)12:52
replaceafillyvl, adding evilness solves it though12:55
yvlperson must be in teachers group12:58
replaceafillit is12:58
replaceafilllisppaste5, url12:59
lisppaste5To use the lisppaste bot, visit http://paste.lisp.org/new/schooltool and enter your paste.12:59
lisppaste5replaceafill pasted "untitled" at http://paste.lisp.org/display/9048013:00
replaceafilloops, i should have used annotations :(13:00
yvlyeah, but you kind of kill all the point of having security :)13:06
yvlThe thing that fails: schooltool.requirement.security.SectionRequirementViewersCrowd13:07
yvlbecause activities are.... requirements13:07
replaceafill:O13:07
yvlyes, I know.13:07
yvlumm, I got to run for ~15 mins13:12
yvlbrb13:12
yvlif it makes you feel better, the security part there needs revisiting13:12
yvlis too much complex13:13
yvlumm it seems that you'll need to duplicate the parent crowds of requirement for activities13:18
yvlI'll get to refactoring it some time13:18
yvlso don't worry too much about code duplication13:18
yvlsee schooltool.requirement.security13:18
replaceafillon it13:19
yvlyou may reuse the crowds defined there13:19
yvlall except the ParentCrowd on ISection13:19
yvlthanks, Douglas13:19
replaceafillthank YOU Justas :)13:19
*** replaceafill has quit IRC13:54
*** replaceafill has joined #schooltool13:58
replaceafilllisppaste5, url14:01
lisppaste5To use the lisppaste bot, visit http://paste.lisp.org/new/schooltool and enter your paste.14:01
lisppaste5replaceafill annotated #90480 "untitled" at http://paste.lisp.org/display/90480#114:02
replaceafillyvl, if i add the teachers crowd to the 'schooltool.view' permission for IGradebook, it works14:05
lisppaste5replaceafill annotated #90480 "untitled" at http://paste.lisp.org/display/90480#214:11
replaceafillsimpler14:11
yvltrue14:12
yvlbtw, It's a bit weird that you did not get an Unauthorised because of student's first_name, last_name14:12
yvlcan you check if "Everyone can see personal info" or something is disabled in your instance?14:14
yvland tests with a new person within Teachers group (but not instructing any sections)14:15
replaceafillyou mean: "Everyone can view info of persons"?14:15
yvlyes, that one14:17
replaceafillit's checked14:17
yvluncheck and test again14:17
replaceafillok14:17
yvlshould fail, but I'm not certain with all the removeSecurityProxy'ies in the gradebook14:18
replaceafillhhmm disabling it doesnt allow me to get to the interventions page14:18
replaceafilli mean, for a student14:18
replaceafilli can get to the search form14:19
replaceafillif the student is not in one of my sections, i get the error14:19
replaceafillbut if the student is in one of my sections, it still works14:19
replaceafill:S14:19
replaceafillSLA has it checked ;)14:20
yvlwhatever then14:21
yvlbut you may want to file a bug or something :)14:21
ignasyvl, notify me when you will solve the "user view" vs "user title view" problem14:21
ignasthanks ;)14:21
yvlinterventions are kind of released14:21
yvlwill do, ignas, will do14:21
ignasahh, hmm - isn't title a view by the way?14:22
yvland then I'll go on vacation14:22
yvltoo ski14:22
yvlin Hell14:22
ignasI thought I had user/@@title in most cases?14:22
yvlignas, not everybody knows that :||||14:22
ignaswhich allows for a more fine grained control of the attribute14:22
ignasas in - user/@@title is a view that is mostly public or something like that14:23
ignasyvl, not using @@title causes i18n problems with first name last name order14:23
ignasMikalajūnas, Ignas14:23
ignasvs Ignas Mikalajūnas14:23
yvlgood point14:23
yvlthanks14:24
replaceafilli see title as a property in basicperson14:24
ignasthere is a property too, but most of the time, at least in templates you want to use the @@title view14:24
replaceafillah14:25
ignasas that allows other people to override it for their skin for example14:25
ignasI *think*14:25
ignasthough - it's been like what - 6 months since I last looked at it14:25
ignasanyway it is a "disabled" solution for the "how do we set different permissions for different attributes for an object while having only 'edit' and 'write' permissions"14:27
ignasi mean "advanced" solution14:27
replaceafillignas, how do i avoid the use of removeSecurityProxy?14:28
replaceafilli see lots of calls in schooltool.gradebook14:29
ignasyou don't ;)14:29
ignaswell sometimes you can14:29
ignasbut it depends, really14:29
ignasi mean - especially with persons/gradebooks14:29
ignasremoveSecurityProxy indicates a switch from model based security14:29
ignasto view based security14:29
ignasand a mismatch between those two14:29
ignasso you either - make them match14:29
ignasby changing permissions on the a) context or b) view14:30
replaceafillyou mean like "let's protect the view and expose the context in the view"14:30
ignasor - you use removeSecurityProxy14:30
ignasno, it's more like "I want them to see this view on person" vs "this view is showing the title of the person"14:31
yvlit's more of a way to solve clashes of multiple contexts14:31
ignasif you know that the user who can see the gradebook view14:31
ignasis "trusted" to see any content on the view14:31
ignaseven though he can't see the content "any other way"14:31
ignaslike - a teacher can see all the titles of students in his gradebook view14:31
ignaswhile has no permission to see PersonInfo view on the students14:32
replaceafillah, got it14:32
ignasPersonInfo View 'view' == Person 'view' (matches)14:32
ignasit's a double security system14:33
ignasyvl is keeping it safer14:33
yvlfor one, it's a pile of additional work to make it less safe14:33
yvl:)14:33
ignasso if you make a mistake by exposing some data in the view that the user has no rights to see14:33
ignashe will get the 'access denied'14:33
ignasso a mistake will lead to denial of service14:34
ignasthe alternative is - a mistake that leads to a security hole14:34
ignasyou just have to choose between - teachers can't see gradebook unless they make student info public for everyone to see14:35
ignasand - students can delete terms14:35
ignas:D14:35
replaceafill:|14:35
ignas(both things can still happen no matter which scheme you chose, but the probabilities are different)14:36
yvlboth mistakes were made, IIRC14:36
ignasyou recall correctly ;)14:36
replaceafillyvl:14:37
replaceafill  <page14:37
replaceafill      name="index.html"14:38
replaceafill      for="..interfaces.IActivities"14:38
replaceafill      class=".activity.ActivitiesView"14:38
replaceafill      template="activities_overview.pt"14:38
replaceafill      permission="schooltool.view"14:38
replaceafill      />14:38
replaceafillanyone can modify the order of worksheets14:38
yvlI was wondering what those post forms were doing there14:39
yvlsigh.14:39
replaceafilland anyone can access the "Columns Preferences" view too14:40
yvlagain, sigh.14:40
replaceafilli should file bugs, right?14:41
yvlonly if you are sure that they exist14:42
yvlcode is tricky there14:42
yvlIf activity is put on a section, it has 'schooltool.view' for Learners, Instructors and one more crowd14:42
yvlsorry, but I did not do the security descriptions for gradebook yet14:43
replaceafillthe column preferences is protected by the security setting "Everyone can view info of persons"14:44
replaceafillbut the worksheets order is not14:45
replaceafilloh wait14:45
replaceafillnope, both are exposed14:46
replaceafillthe login form appears *after* hiding the columns14:46
ignasright14:48
yvlDouglas, some time later I'll build a testing thingie for them14:48
ignasthe idea of "you have to make person info public to use this part of the system" is *bad*14:48
yvlAbility to list security checks in functional tests14:48
ignasyvl, no good, too many14:48
yvlignas, don't worry, with sane filtering14:49
ignasthough - you probably only care about the "last" one14:49
yvland match them with descriptions that are presented to the user14:49
yvlignas, actually no - we want to see relevant checks14:49
yvlgrouped and filtered14:49
ignasa check is performed on every attribute access14:49
replaceafillyes, i just learned that :)14:50
ignasone page load produces 500 or so14:50
yvlmost of them are on the same object14:50
ignasnot really14:50
yvlothers can be grouped by object class14:50
replaceafillzope.security-3.4.2-py2.5-linux-i686.egg/zope/security/checker.py14:50
ignasthe whole traversal stack all utilities14:50
yvlothers can be filtered out - you don't want to see all the viewlet checks sometime14:50
ignasand a lot of adapters14:50
ignasoh and viewlets14:51
ignasand viewlet contexts14:51
yvlyes, I know that14:51
yvlbut the last check is not good enough14:51
ignasif you would manage to show the "permission denied "because"" thing i think that would solve most of the debugging cases14:51
ignasin the log in form14:52
yvlI tried, failed14:52
yvlwill try again14:52
ignasfailed to solve, or failed to display the thing14:52
yvlfailed to display14:52
yvldon't even remember now why14:52
ignaswell - I looked at it, thought a bit and then decided not to do it ;)14:52
ignascan't recall why too14:52
* yvl looked at it, tried to do that, failed, decided to try again another time14:53
ignashava a hunch that "it is difficult to return the reason when all you can return is True/False"14:53
yvland no object whatsoever, IIRC14:54
yvlat least at the log-in view14:54
ignasif I had to *solve* it in a day - i'd us a thread local to communicate between error reporting and permission handling code14:59
ignasif that would not work - would go as far as Paste stacked variables14:59
yvlI'm still hoping to avoid that14:59
yvlbut those solutions are on the table, sadly15:00
yvlmade me very, very sad :)15:00
ignasyou can always fork zope.security :P15:01
ignasforks are on the table too ;)15:02
ignasnext to knives15:02
yvlexactly15:02
ignasI find it funny, even though our polish and lithuanian language versions are diverging, we still did not have to resort to ZCA15:04
ignaseven with grok being available15:04
yvl1:10:10 blend of Synephrine (From Patented Advantra-Z), Caffeine, and White Willow Bark (The herbal alternative to Aspirin) ?15:10
yvlZCA? :)15:10
ignasZope Component Architecture15:17
*** menesis has quit IRC15:22
*** aelkner has joined #schooltool15:22
aelkneryvl: ayt?15:22
yvlin a moment, aelkner15:25
*** jelkner has joined #schooltool15:30
*** th1a has joined #schooltool15:40
yvlaelkner, I'm here15:43
aelknerdo you know who maintains this page, http://book.schooltool.org/htmlhelp/dev_sandbox.html15:43
aelknerit has old instructions for branching15:44
aelknerit should be bzr branch lp:schooltool, right?15:44
jelkneraelkner: did you see the bug i filed this weekend?15:46
yvlyes, thanks for pointing this out15:46
aelknerjelkner: not yet, just got back from ITaly15:46
jelknerhow was your trip?15:46
aelknergreat, a long overdue reunion for me with various folks15:47
aelknergreat eating, of course15:47
aelknerDot enjoyed the cultural stuff15:47
jelknergreat to hear it15:47
aelknerand the eating and dringing, ofcourse15:47
aelknerdrinking15:47
aelknerjelkner: as far as bugs, i'm waiting for tom to tell me what he wants done first15:48
alga>>> ITaly.providedBy(aelkner)15:48
alga?15:48
aelkneryvl: bzr branch lp:schooltool.stapp2008spring doesn't work15:49
aelkneralga: i lived there for two years.  it's one of my favorite places in the workld15:49
aelknerworld15:49
aelkneryvl: same for stapp2008fall15:49
yvlI'll be a bad person and point at menesis15:50
aelkneryvl: i wanted you to have that opportunity :)15:50
aelkneri'll ask him at the meeting15:50
yvlaelkner, I asked him15:55
yvlit's on his TODO list apparently15:56
*** menesis has joined #schooltool15:58
aelknermenesis: i noticed you fixed whatever bug was preventing me from branching lp:schooltool, lp:schooltool.gradebook, etc.16:05
menesisaelkner: not me, but good to hear that's fixed16:06
aelknerwho's in change of that, then?16:06
menesisthere has been some problems with launchpad codehosting recently16:06
aelknerah, the launchpad folks, i see16:06
aelknermenesis: one thing though, i still can't branch lp:schooltool.stapp2008spring or fall, if that's the preferred one16:07
*** jelkner has quit IRC16:08
aelkneri suppose i could use the old branch for now, but could that be fixed soon?16:08
aelkneralso, who do i ask for updating http://book.schooltool.org/htmlhelp/dev_sandbox.html?16:08
menesisaelkner: I have not created stapp2008* projects on launchpad16:09
aelknerdon't we need that for us developers?16:09
menesisthere are branches on lp mirrored from source.schooltool.org16:09
menesisnot sure what to do with it16:10
aelknerwho would?16:10
yvlaelkner, you don't need to use stapp2008fall nowadays16:10
menesismaybe absorb into schooltool16:10
yvllp:schooltool is sufficient16:10
yvlfor developers16:10
aelkneri can use schooltool as my buildout now?!16:10
yvlyes16:11
aelkneri like the sound of that16:11
menesisaelkner: I have "Update dev handbook" in my todo list.16:11
aelknermenesis: how sson could you get to that?16:11
aelknerotherwise, i'll be dependent on asking you direct questions to get my snadbox to work16:12
aelknerand any other devleoper for that matter16:13
aelkneryvl: can you email me a copy of the buildout.cfg you use in the schooltool project?16:15
aelknerand does it include projects like schooltool.gradebook, schooltool.intervention, lyceum, etc?16:15
yvlI'll edit schooltool book today16:19
aelkneryvl: thanks.  will it include intructions for using schooltool as buildout and pulling in the ther projects?16:20
aelknerother16:20
menesisaelkner: yvl and me will update dev_sandbox.html today16:20
yvl(and yes, I enable gradebook, intervetnion and lyceum journal from time to time)16:20
yvlaelkner, yes :)16:20
aelknercool, thanks16:20
*** dlobo has joined #schooltool16:21
menesisaelkner: I use the same setup as buildbot does -- bzr+ssh://source.schooltool.org/var/local/bzr/schooltool/buildbot/trunk/16:21
menesisit does checkout all projects into build/16:21
aelknerbut i don't want to do that16:22
aelknerit's better for me to have the projects side by side16:22
aelkneras siblings in the sandbox16:22
yvltrue :)16:22
aelkneryvl: to keep me going in the meantime, could you email me your schooltool buildpout.cfg?16:23
yvlok16:25
* th1a starts reading the backlog...16:27
th1aI've acutally updated the sandbox doc, and I'd swear I'd pushed the changes to the site but I guess I must have subsequently overwritten it accidentally or something.16:29
th1aIf the lp: changes are the only ones, I've already got them though.16:30
th1agood morning aelkner, yvl, menesis, Lumiere, replaceafill.16:31
aelknermorning th1a16:31
replaceafillgood morning everyone16:31
menesisth1a: yes and you overwritten my changes as well so it's certainly an older book16:32
menesisand hello world16:32
yvlmorning th1a16:33
th1amenesis:  Did you push your changes to LP?16:33
th1aFeeling refreshed aelkner?16:33
aelkneryes, much, thanks th1a16:33
th1aFeeling refreshed yvl?16:33
yvla little bit yes, thanks16:33
aelkner:)16:33
th1aNot as much as if you spent a week in Italy.16:34
aelknerin the hills with all the fresh air...16:34
aelknerand fresh food :)16:34
menesisth1a: yes16:34
th1aSo I spent Thursday and Friday writing and delivering my public comment on this big new federal grant program: http://www.tuttlesvc.org/2009/11/my-public-comment-on-race-to-top.html16:35
th1amenesis:  I'll make sure I straighten it out.16:35
th1aSo the immediate plan now is for me to spend some time poking at SchoolTool and making sure no common tasks throw tracebacks...16:36
th1aand then I'll announce the release.16:37
* Lumiere swears if aelkner talks about fresh air and fresh food one more time before I eat lunch... he's buying me tickets and a hotel in greece for 2 weeks :)16:37
Lumiereyou're makin' me hungry here16:37
Lumiere(morning everyone)16:37
th1aGood morning Lumiere.16:38
th1amenesis:  Do you have any active concerns?16:38
menesisth1a: no16:39
th1aOK.16:39
th1ayvl: You know what you're going to be working on for the next week or so?16:39
menesiswell, the same couple of bugs i'm waiting to be fixed by yvl16:39
th1aIf so we can focus the rest of the meeting on telling aelkner what to do...16:41
yvlth1a: yes, loads :)16:41
th1aOK then.16:41
th1aaelkner:  Do you know what your brother is talking about here: https://bugs.edge.launchpad.net/schooltool/+bug/48313916:41
aelknerlooking...16:42
aelkneruh, i don't knwo why that's happening, but after i get my sandbox set up, i could try to recreate16:43
aelknerbefore telling aelkner what to do, people need to help me get my sandbox set up :)16:43
th1aOK, I'll see if I can replicate it.16:44
yvlaelkner: just sent you my buildout.cfg, school.zcml and some comments (better more than less)16:44
th1aIs everyone haveing sandbox problems now?16:44
aelknerreplaceafill: are you using the new sandbox methods?16:44
aelkneryvl: thanks16:44
replaceafillaelkner, yes16:44
replaceafilli had trouble with schooltool.stapp2008spring used at SLA last week, but menesis help me through it16:45
yvlth1a: rumor has it we want to have schooltool installation without plugin conflicts.  When's the deadline?16:45
aelknerreplaceafill: so no more stapp2008spring, right?16:45
th1aplugin conflicts?16:45
replaceafillaelkner, right16:45
yvlat least for developers16:46
th1ayvl:  What do you mean by "plugin conflicts?"16:47
yvlsorry16:47
yvlpackage conflicts16:47
yvland manual apt/preferences editing16:48
th1aBasically, the budget ends at the end of the year, so if you can get that done by the end of the year, you'll get a bonus.16:48
yvlok, good to know16:49
yvlthanks16:49
th1aSo prioritize accordingly.16:49
yvlI understand.16:49
th1aOK, so moving on to telling aelkner what to do...16:49
th1a1) triage, but don't necessarily immediately fix jelkner's score system bug.16:50
aelkneri'm on the edge of my seat16:50
aelknercould you please assign it to me?16:50
th1a2) Catch up with SLA -- unfortunately your vacation coincided perfectly with the end of their term, which brought up a whole mess of issues.16:51
aelkneror i will, never mind16:51
th1aI did.16:51
th1areplaceafill:  Did you look at the permissions bug in Interventions?16:51
replaceafillth1a, yes16:52
th1aOK, what's your analysis?16:52
replaceafillyvl helped me this morning16:52
replaceafillwe got it16:52
replaceafilli dont know if it's the right way though16:52
replaceafillbut it works16:52
replaceafilli talked to chris last night16:52
yvlth1a: technically, that bug is in gradebook16:52
th1aAh.16:52
replaceafillah yes16:52
th1aCan you describe it to aelkner?16:52
yvland I was fixing another one last Wed because of misscomunication16:53
yvlth1a: it would be better if replaceafill or I fixed it16:53
yvlit takes a long time to explain16:53
th1aThat's fine with me.16:53
yvlshort to fix16:53
replaceafill:)16:53
th1aWell, he should understand what's going on.16:53
th1aGive us a brief explanation.16:53
replaceafillyvl, you go16:54
aelkneri can look at the diff, too16:54
th1a:-)16:54
yvlyes, that would be best16:54
yvlcan we push that to a later date?16:54
th1aI need to have a general idea...16:54
th1aGive me a two sentence overview.16:54
replaceafilli can try16:54
aelkneris it in trunk already?16:54
replaceafillok here's what i discovered16:54
yvlok, you go :)16:55
replaceafillthe intervention's main view has a series of links to student's Report Sheets16:55
replaceafilloh sorry yvl :(16:55
th1aGo ahead replaceafill.16:55
yvl[Report Sheets, not narratives... :/ ]16:55
aelkner:)16:55
replaceafillif you click one of those links you get to a schooltool.gradebook view16:55
replaceafilla view of a IStudentGradebook16:55
th1a(so was the bug report wrong?)16:55
yvl[schooltool.gradebook, not shooltool.intervention... :|]16:55
yvl[yes]16:55
replaceafillth1a, yes16:56
th1aAh!16:56
replaceafillit said narratives16:56
replaceafillwhich lead me to the narratives package16:56
yvl[and schooltool.interventions had a very very similar bug]16:56
replaceafill:P16:56
th1aChris confirmed this?16:56
replaceafillyes16:56
th1aAh.16:56
aelknerlehmann still thinks in those terms16:56
replaceafilli asked him last night16:56
th1aOK, keep going.16:56
replaceafillthey call them Narratives16:56
replaceafillbut for us they're Report Sheets16:56
replaceafillanyway16:56
th1aYes.16:57
replaceafillyou get to that view which is protected by the schooltool.edit permission16:57
aelknerah yes, and the old narratives weren't16:57
replaceafilland the traversal gets you to IGradebook/IStudentGradebook/view.html16:57
replaceafillusing the debugger i found that the crowds were involved here16:58
aelkneryup16:58
replaceafill[instructors, admins, clerks, site managers]16:58
replaceafillbut not the teachers crowd16:58
replaceafillso, if a teacher tries to see a studentgradebook for a section that is not his16:59
aelknerboom16:59
th1aAh.16:59
replaceafillthe look up gets to the instructors crowd16:59
replaceafilland he is not an instructor there16:59
replaceafilland you get the login form16:59
aelknerth1a: remember lehman's security policy was different than ours16:59
aelknerall teachers can see all interventions17:00
th1aCan we do it so that it checks to see if the user is a teacher of any of the student's sections?17:00
replaceafillso, yvl's idead lead to this diff:17:00
replaceafillhttp://paste.lisp.org/display/90480#117:00
replaceafilllook at the end17:00
aelknerth1a: that would probably not be consistent with lehmann's desired model17:01
replaceafillthe second annotation17:01
yvlso the major change is that both instructors of a person, and ALL members of Teachers group in any year now can *view* the gradebook and the report sheets.17:01
replaceafillyes17:01
th1aCan we push that to SLA but not trunk yet?17:02
yvl(the thing is that I think they actually want that student's *advisors* and probably members of *Councelor* group would be able to look there.)17:02
aelknerif i'm going to be handling SLA now that i'm back, i will have a lot of questions17:02
aelknerabout the state of their sandbox17:02
aelknerwho knows the latest on that?17:03
replaceafilli've been working with it17:03
replaceafillin fact i have a question there17:03
replaceafillthey're using some old versions of everything17:03
aelkneri know, i want to get them working with trunk17:04
replaceafillschooltool, schooltool.gradebook, schooltool.stapp2008spring17:04
*** dlobo has quit IRC17:04
aelknernow ,more stapp2008spring17:04
replaceafillshould they be upgraded17:04
aelknerno more, i mean17:04
aelkneryes17:04
replaceafilland one last thing17:04
aelkneri'd want to work with chris alfano on that17:04
*** dlobo has joined #schooltool17:04
replaceafillchris reported an linking error in the UI17:04
replaceafillthat aelkner had fixed but they lost when we applied my xmlrpc branch17:05
aelkneri'd lke to get them on the new sandbox as soon as i get mine working17:05
*** dlobo has quit IRC17:05
replaceafillso what i did was i made the xmlrpc methods into a plugin17:05
aelkneraren't they in trunk?17:05
th1aYes, first get their code straighened out.17:05
replaceafillso they can update their branches (schooltool, gradebook, and so on)17:05
replaceafilland chris can have new xmlrpc methods17:06
aelknerare they in trunk?17:06
replaceafilllike the createLinkedSections we discussed17:06
th1areplaceafill & aelkner can you guys set a time to work through that together today?17:06
aelknerreplaceafill: after the meeting?17:06
*** ignas has quit IRC17:06
th1a(that = SLA's sandbox)17:06
replaceafillaelkner, can we meet in the afternoon/evening17:07
replaceafilli have to go out in the morning17:07
aelknerreplaceafill: name the time17:07
replaceafillaelkner, im coming back at 5 pm your time17:07
replaceafillwhat about 6pm your time?17:07
aelknerreplaceafill: i'll look for you here17:08
replaceafillah also, dwelsh and i are meeting tomorrow to test CanDo new changes17:08
aelkneryvl: a question abot the buildout.cfg you sent me17:08
replaceafillhe wants a new deb for CanDo once we test things17:08
replaceafillbut i'll let dwelsh ask for that when the time is right :)17:09
yvlaelkner, shoot17:10
aelkneryvl: using that buildout, you only have the one bin/test17:11
Lumierereplaceafill: email me the pubkey you need?17:11
aelknerso do you use -p schooltool.gradebook to isolate the test to that package?17:11
yvl./bin/test -vs schooltool.gradebook17:12
yvland voila!17:12
aelknerwhat's the difference between -vs and -p?17:12
yvlor ./bin.test -vus schooltool.lyceum.journal -t the_something_something17:12
yvlyou can check ./bin/test -h17:13
yvllists all options17:13
yvlbasically I say -v for verbos17:13
yvlverbose output17:13
replaceafillLumiere, don't have one yet, but i'll send it to you when i generate it17:13
yvl-s for package17:13
yvland add u for unit tests, f for functional tests17:14
yvlor omit them for all17:14
aelkneryvl: got it, thanks17:14
yvlcommon commands are "-vus schooltool.course -t SomeDoctestFunction" for unit test of a single function17:14
yvl"-vfs schooltool.gradebook" to check if gradebook works functionally17:14
replaceafillmenesis, could you please check out https://code.launchpad.net/~replaceafill/schooltool/schooltool.xmlrpc and make sure i did it right :)17:14
yvl"-vs schooltool" before commit17:15
yvlfor all17:15
Lumierereplaceafill: k17:15
Lumierereplaceafill: paste into skype works too17:15
replaceafillLumiere, thanks17:15
replaceafillLumiere, ah ok, will do17:15
replaceafillaelkner, the index.html view for IActivities is protected by schooltool.view17:17
replaceafilland so is the Column Preferences17:17
replaceafillview17:17
aelkneryes17:17
replaceafillit's possible for teachers to change the order of worksheets for other teachers17:17
th1ayvl:  How hard would it be to explain to aelkner & I what we need to do to get gradebook and interventions working with your new permissions report?17:18
th1aWe could work on that when aelkner comes up here on Thurs/Fri.17:18
replaceafillaelkner, or hide columns to others :(17:18
yvlth1a: quite17:18
th1aOK.17:19
yvlWhen discussing with replaceafill today I got thinking about security testing in general17:19
yvlWhat I want to do is to write testing helpers *and* documentation (examples)17:19
menesisreplaceafill: oh so it's a new plugin. looks well done so far17:19
aelknerreplaceafill: admittedly, that needs work, but that will come into focus as we adjust to the new security features that yvl has given us17:19
replaceafillmenesis, i used all of your packages :)17:20
yvlthe thing is that gradebook inherits a lot of security declarations17:20
menesisreplaceafill: I will bump the zope.publisher to 3.4.9 in versions.cfg17:20
yvlfor example, activities inherit security from generic requirements17:20
replaceafillaelkner, true17:20
yvland I want to have a common testing suite, so we can write tests, add declarations without thinking too much about it17:21
yvland debugging with pdb!17:21
aelkneryeah!17:21
yvl(this will lead to agenda on removing removeSecurityProxies in some places from me, and tweaking security settings from Tom, Jeff and other users)17:22
yvlI'm quite sure about it :)17:22
th1aHow long do you think that will take?17:23
th1aMonthish?17:23
yvldefinitely less17:23
yvlat least from my side17:23
th1aOK, good.17:23
yvlI wanted to get it all last time, but it was a little to big for one run17:24
th1aUnderstood.17:24
yvlcame close, and now I want to finish what I started.17:24
th1aaelkner:  Your other immediate assignment is to read all the emails from Chris and Chris from the past two weeks or so and respond where appropriate.17:25
aelknerok, will do17:25
yvlth1a, meanwhile if Alans queue empties a bit, I have some things on intervention that require attention17:26
yvlhandling empty email addresses for one;  also fixing the broken unit test17:26
th1ayvl: Can you file the bugs?17:27
yvlok17:27
th1aaelkner:  yvl has some stuff to keep you busy a while...17:28
aelknerth1a: sonds good17:28
aelknersounds17:28
aelknerth1a: please make sure to assign them to me17:29
th1ayvl: I think you can do that as you make them.17:29
th1aaelkner:  We'll firm up what we're going to discuss Thurs/Fri as we see how things go the next couple days.17:29
aelknerok17:30
th1aAll right, I think that's about it.17:30
th1aHave a great week gentlemen!17:30
aelknerth1a: you, too17:30
* th1a drops the bag of gravel.17:30
yvla great week for you all17:30
replaceafillthanks guys17:31
aelknerreplaceafill: see you around 6:00 my time?17:31
replaceafillaelkner, yes17:31
th1aaelkner, Let Chris A know he's welcome too.17:31
aelknerth1a: i'll be responding to their emails, including letting them know about this evening, so yes17:31
aelkneri'll call his cell, too17:32
th1aThanks aelkner.17:32
aelknerhe definitely needs to be involved17:32
th1a(note that I'm not necessarily saying fix all their bugs immediately)17:32
th1aSome may be lower priority.17:32
aelkneri understand17:32
th1aCool.17:32
* th1a goes to take a shower.17:32
aelknerthe top prioroty is getting them a new sandbox with up to date trunk code17:32
aelknerthen we can see if some of the bugs just go away by themselves17:33
*** replaceafill has quit IRC17:36
*** yvl has quit IRC18:09
*** dlobo has joined #schooltool19:06
*** mgedmin has quit IRC19:11
*** menesis has quit IRC21:20
*** alga has quit IRC21:38
*** pcardune has joined #schooltool21:41
*** menesis has joined #schooltool21:54
*** menesis has quit IRC21:55
*** lisppaste5 has quit IRC21:58
*** lisppaste5 has joined #schooltool21:59
*** menesis has joined #schooltool22:11
*** chrisalfano has joined #schooltool23:33
chrisalfanohi alan!23:33
aelknerhi chris23:34
*** chrisalfano has quit IRC23:49

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!