*** replaceafill has joined #schooltool | 00:53 | |
*** ignas has quit IRC | 02:06 | |
*** lisppaste5 has quit IRC | 03:13 | |
*** replaceafill has quit IRC | 03:15 | |
*** lisppaste5 has joined #schooltool | 03:29 | |
*** pcardune has joined #schooltool | 03:34 | |
*** alga has joined #SchoolTool | 03:50 | |
*** dlobo has joined #schooltool | 04:48 | |
*** chrisalfano has joined #schooltool | 04:56 | |
*** replaceafill has joined #schooltool | 05:14 | |
replaceafill | hi chrisalfano | 05:14 |
---|---|---|
chrisalfano | hey | 05:15 |
*** chrisalfano has left #schooltool | 07:22 | |
*** ignas has joined #schooltool | 07:35 | |
*** dlobo has quit IRC | 07:38 | |
*** pcardune has quit IRC | 08:36 | |
*** pcardune has joined #schooltool | 09:38 | |
*** yvl has joined #schooltool | 09:46 | |
*** pcardune has quit IRC | 09:58 | |
replaceafill | yvl, ping | 10:07 |
yvl | pong, replaceafill | 10:07 |
replaceafill | hey yvl | 10:07 |
replaceafill | i have philosophical question :D | 10:07 |
yvl | go ahead! :) | 10:07 |
replaceafill | is there any difference between an instructor and a teacher? | 10:08 |
replaceafill | teacher is a group right? | 10:08 |
replaceafill | and instructor... just a crowd? | 10:08 |
yvl | both are crowds | 10:08 |
yvl | one checks membership in 'Teachers' group | 10:09 |
yvl | the other checks if the logged-in person is an instructor of another person in any of his sections | 10:09 |
replaceafill | ah ok | 10:09 |
replaceafill | i ask you because of a sla bug | 10:10 |
replaceafill | where teachers cannot see others section narratives | 10:10 |
replaceafill | because they are not instructors in those other sections | 10:11 |
yvl | I guessed that much :) | 10:12 |
replaceafill | :| | 10:12 |
replaceafill | adding TeachersCrowd(self.context).contains(principal) to the InstructorsCrowd fixes the problem? | 10:13 |
yvl | you meant "to the Intervention crowd" ? | 10:14 |
replaceafill | no, report card narratives is part of the schooltool.gradebook | 10:15 |
replaceafill | the unauthorized comes from the gradebook.Gradebook class | 10:16 |
yvl | ok, we're maybe talking about a different bug then | 10:16 |
yvl | LP link? | 10:16 |
replaceafill | https://bugs.launchpad.net/schooltool.intervention/+bug/479332 | 10:16 |
yvl | thanks | 10:16 |
replaceafill | these are the ones who can access those narratives: <AggregateCrowd crowds=[<InstructorsCrowd>, <AggregateCrowd crowds=[<ManagersCrowd>, <AdministratorsCrowd>, <ClerksCrowd>]>]> | 10:17 |
replaceafill | and i talked to chris alfano and he agreed on any teacher having access to other teachers section | 10:19 |
replaceafill | "it's better than making them all administrators" | 10:19 |
replaceafill | he said | 10:19 |
yvl | hmm, I see then | 10:20 |
ignas | replaceafill, does it really make sense? | 10:20 |
replaceafill | ignas, ? | 10:20 |
ignas | you will suddenly allow all teachers see all student data and do grading for all sections | 10:20 |
ignas | if you will add teachers to the instructors crowd | 10:21 |
replaceafill | i know | 10:21 |
ignas | i'd rather allow teachers perform whichever operation is in question | 10:21 |
ignas | like - allow teachers see sections | 10:21 |
replaceafill | "it's not a fear though" | 10:21 |
ignas | not make all teachers instructors | 10:21 |
yvl | replaceafill, a moment, reading code... | 10:21 |
yvl | ignas: yes, this is the right solution | 10:21 |
yvl | I would never, ever, allow to tweak the section.Instructors crowd that way :) | 10:22 |
replaceafill | yvl, i know :) | 10:22 |
yvl | umm, replaceafill, where the heck is the narrative code exactly? | 10:23 |
replaceafill | the sla package is in SLA instance | 10:24 |
replaceafill | i guess it's in the branches too | 10:24 |
replaceafill | let me see | 10:24 |
yvl | ah, right | 10:24 |
yvl | thanks :) | 10:24 |
replaceafill | https://code.launchpad.net/~schooltool-owners/schooltool/sla | 10:25 |
replaceafill | SLA is using https://code.launchpad.net/~aelkner/schooltool/schooltool.intervention_migrate_sla though | 10:26 |
yvl | ok... so in the narratives view there's only a bunch of links, right? | 10:29 |
replaceafill | yes | 10:29 |
yvl | I'd bump permission to schooltool.view for that view, if Chris is OK | 10:29 |
yvl | and then build an aggregate crowd for schooltool.sla.narrative.interfaces.INarrative | 10:30 |
yvl | (and 'schooltool.edit') | 10:30 |
yvl | and set it to whatever you want :) | 10:30 |
replaceafill | ah! | 10:30 |
yvl | you might need to write adapter from INarrative to ISection | 10:32 |
yvl | if there isn't one | 10:32 |
replaceafill | as you said the view is protected with schooltool.edit: | 10:36 |
replaceafill | <page | 10: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 |
replaceafill | sorry for flooding | 10:36 |
yvl | wait | 10:37 |
yvl | I was talking about the narratives view | 10:37 |
yvl | (I don't have the instance up and running, so...) | 10:37 |
replaceafill | no prob | 10:37 |
yvl | is it accessible only from gradebook? | 10:38 |
replaceafill | it's a gradebook view | 10:38 |
yvl | the narratives | 10:38 |
replaceafill | ok | 10:38 |
replaceafill | http://localhost:7080/schooltool.interventions/2009/douglas | 10:38 |
replaceafill | takes you to a page with: | 10:38 |
yvl | not this one? name="narratives.html" | 10:38 |
yvl | for="schooltool.course.interfaces.ISection" | 10:38 |
yvl | class=".narrative.NarrativesView" | 10:38 |
replaceafill | ah no | 10:39 |
yvl | umm, you can reach douglas' interventions via the big "Interventions" tab | 10:40 |
yvl | there's a search there | 10:40 |
replaceafill | yes | 10:41 |
yvl | douglas' interventions view is not related in any way with gradebook, right? | 10:42 |
replaceafill | no | 10:42 |
replaceafill | but it has links to gradebook views | 10:42 |
replaceafill | like: http://localhost:7080/schoolyears/2009-2010/term/sections/164/activities/2009-2010_term-2/gradebook/douglas/view.html | 10:42 |
replaceafill | Report Sheets | 10:42 |
*** ignas has quit IRC | 10:44 | |
yvl | so "naratives" are actually "Report Sheets"? | 10:44 |
replaceafill | yvl, yes :) | 10:45 |
replaceafill | i was confused by the "narratives" package also | 10:45 |
replaceafill | since the bug says "narratives" too | 10:45 |
yvl | you sure? :) | 10:45 |
replaceafill | but i asked chris and he told me it was "report sheets" | 10:45 |
yvl | ouch | 10:45 |
yvl | umm, can you fix the Bug title / description | 10:46 |
replaceafill | ah ok | 10:46 |
yvl | thanks | 10:47 |
yvl | gonna make me some coffee | 10:47 |
yvl | brb | 10:47 |
replaceafill | ok | 10:47 |
replaceafill | bring some :P | 10:47 |
yvl | :P | 10:51 |
yvl | ok then | 10:52 |
yvl | which views exactly cause the problem? | 10:52 |
yvl | not the gradebook itself, right? | 10:52 |
replaceafill | from what i've seen, you get to http://localhost:7080/schoolyears/2009-2010/term/sections/164/activities/2009-2010_term-2/gradebook/douglas/view.html | 10:53 |
replaceafill | then a crowd is looked for view.html and there's none | 10:53 |
replaceafill | then the crowd logic starts to go to each parent | 10:53 |
replaceafill | next douglas (a student gradebook) | 10:53 |
replaceafill | next gradebook (a gradebook.Gradebook) | 10:54 |
replaceafill | here is where i get the Unauthorized | 10:54 |
replaceafill | because for the "gradebook" you get the crowds i pasted you above | 10:54 |
replaceafill | and the teacher is not in there | 10:55 |
yvl | yes, that's right | 10:55 |
replaceafill | so you get False | 10:55 |
replaceafill | and the Unauthorized | 10:55 |
yvl | I'm starting up my schooltool instance | 10:55 |
replaceafill | and then the login page | 10:55 |
replaceafill | and then frustration | 10:55 |
replaceafill | and then... | 10:55 |
replaceafill | :P | 10:55 |
*** replaceafill has quit IRC | 10:58 | |
*** replaceafill has joined #schooltool | 10:59 | |
*** mgedmin has joined #schooltool | 11:00 | |
yvl | it's an UI nightmare | 11:01 |
replaceafill | :( | 11:01 |
yvl | ok, if I got it right... | 11:02 |
yvl | Report Sheets are those deployable thingies | 11:02 |
yvl | that are basically normal Worksheets | 11:02 |
yvl | but for some reason are deployed for the whole term | 11:03 |
replaceafill | the whole term? | 11:03 |
yvl | seems so | 11:04 |
yvl | if 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': title | 11:05 |
replaceafill | } | 11:05 |
replaceafill | in sla/src/schooltool/intervention/browser/ | 11:05 |
replaceafill | intervention.py | 11:05 |
*** Lumiere has quit IRC | 11:06 | |
*** Lumiere has joined #schooltool | 11:06 | |
yvl | ok, so yes | 11:08 |
yvl | those use deployed Report Sheets | 11: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 |
replaceafill | ah! | 11:10 |
yvl | those essentially take you to the student's gradebook | 11:10 |
yvl | and get you... drumroll... to student grading views | 11:10 |
replaceafill | :D | 11:10 |
yvl | so if you allow them access to those views, you allow them to grade students, period. | 11:10 |
replaceafill | ah, i was wondering how they were created and why are not editable | 11:11 |
replaceafill | in the gradebook views | 11:11 |
yvl | (unless theres some macaroni I haven't found that allows you to go around that) | 11:11 |
yvl | so the bug actually belongs to shcooltool.gradebook | 11:11 |
yvl | ouchy | 11:17 |
replaceafill | ? | 11:18 |
yvl | I have no idea how it should be fixed easily | 11:18 |
replaceafill | :D | 11:18 |
yvl | from 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 |
yvl | the thing is, index.html is taken :) | 11:19 |
replaceafill | yes | 11:19 |
yvl | soo... | 11:20 |
yvl | hack it to overview.html maybe? | 11:20 |
yvl | and let Alan deal with renaming :) | 11:20 |
replaceafill | :) | 11:20 |
*** ignas has joined #schooltool | 11:22 | |
yvl | You'll need to write the view though | 11:23 |
yvl | and I guess change the intervention links | 11:23 |
yvl | to point it to the correct place | 11:23 |
replaceafill | so, a new view to "display" the report sheet | 11:24 |
yvl | bwahahahaha | 11:26 |
yvl | you know, there's already such a view :D | 11:26 |
replaceafill | :| | 11:26 |
yvl | sorry, I was laughing at the situation, not at your comments of course | 11:26 |
replaceafill | :P | 11:26 |
yvl | it seems that you just need to append view.html at the end of your link :D | 11:27 |
replaceafill | it's there! | 11:27 |
replaceafill | that's the view we're getting to | 11:27 |
replaceafill | the problem is the gradebook object | 11:27 |
yvl | ok, I see now | 11:28 |
replaceafill | could we say, "let anyone in the teachers crowd to access the view.html" | 11:28 |
replaceafill | that way, the view.html would have a crowd | 11:29 |
replaceafill | and the getParent(obj) won't be necessary | 11:29 |
yvl | let anyone in 'Teachers' crowd have 'schooltool.view' permission for IStudentGradebook | 11:31 |
replaceafill | ah yes | 11:31 |
yvl | "administration section_instructors teachers" | 11:32 |
yvl | I didn't check if that will let you bass the gradebook itself | 11:33 |
yvl | but I guess it should work if going directly from interventions | 11:33 |
yvl | please throw heavy objects at me if it doesn't ;) | 11:34 |
*** alga has quit IRC | 11:47 | |
replaceafill | yvl, ping | 12:02 |
yvl | pong | 12:03 |
replaceafill | yvl, if a view is protected with schooltool.edit, is it "secure" to remove the context proxy in the view class? | 12:10 |
replaceafill | if the context class is protected also with schooltool.edit | 12:10 |
replaceafill | or is removeSecurityProxy pure evil? | 12:11 |
*** alga has joined #SchoolTool | 12:12 | |
yvl | pure evil | 12:12 |
replaceafill | is it sign of a bad design? | 12:12 |
yvl | guess :D | 12:13 |
replaceafill | :P | 12:13 |
yvl | context is IGradebook? | 12:14 |
replaceafill | IStudentGradebook | 12:14 |
replaceafill | which in turn has a IGradebook | 12:14 |
yvl | oh the awfulness | 12:15 |
replaceafill | :) | 12:15 |
yvl | is the context protected with 'schooltool.edit' or it's parent? | 12:16 |
replaceafill | wow, IStudentGradebook is and adapter of (IBasicPerson, IGradebook) | 12:18 |
replaceafill | IGradebook in turn is an adapter for IWorksheet | 12:18 |
replaceafill | :| | 12:18 |
yvl | well. yes. | 12:19 |
yvl | schooltool.gradebook.gradebook.StudentGradebookTraverser gets the first one | 12:19 |
yvl | (use protective goggles and gloves when looking at the code) | 12:19 |
replaceafill | and IWorksheet is protected with schooltool.edit | 12:19 |
replaceafill | :)) | 12:20 |
yvl | weird | 12:22 |
yvl | it should be protected with schooltool.view | 12:22 |
yvl | how did you check that it's the one that needs 'schooltool.edit'? | 12:23 |
replaceafill | ? | 12:23 |
yvl | why do you think that IWorksheet is protected? | 12:24 |
replaceafill | ah no, i was playing with crowds and access control | 12:25 |
replaceafill | and noticed that StudentGradebookView was giving me an Unauthorized | 12:26 |
replaceafill | because of this: gradebook = proxy.removeSecurityProxy(self.context.gradebook) | 12:26 |
replaceafill | that is: IStudentGradebook.IGradebook | 12:26 |
ignas | yvl, paying the price of model level security are we ;) | 12:37 |
yvl | yes | 12:40 |
yvl | (sarcasm) | 12:40 |
yvl | *somebody* reused *a view* with permissions | 12:41 |
yvl | to get to *an object* | 12:41 |
yvl | or no, wait | 12:41 |
yvl | somebody put *wrong* permissions on *a view* | 12:42 |
yvl | 'schooltool.edit' on 'view.html' | 12:42 |
yvl | riiight | 12:42 |
replaceafill | :D | 12:42 |
replaceafill | edit -> view :| | 12:43 |
yvl | yep | 12:43 |
lisppaste5 | yvl pasted "untitled" at http://paste.lisp.org/display/90479 | 12:44 |
replaceafill | wow, simple! | 12:45 |
yvl | please ftest it... :) | 12:48 |
replaceafill | doesnt work :( | 12:48 |
replaceafill | what the... <class 'zope.security.interfaces.Unauthorized'>: | 12:51 |
replaceafill | (<schooltool.gradebook.gradebook.Gradebook object at 0xd10ae0c>, 'getDueDateFilter', 'schooltool.view') | 12:51 |
replaceafill | flag, weeks = self.context.gradebook.getDueDateFilter(self.person) | 12:52 |
replaceafill | yvl, adding evilness solves it though | 12:55 |
yvl | person must be in teachers group | 12:58 |
replaceafill | it is | 12:58 |
replaceafill | lisppaste5, url | 12:59 |
lisppaste5 | To use the lisppaste bot, visit http://paste.lisp.org/new/schooltool and enter your paste. | 12:59 |
lisppaste5 | replaceafill pasted "untitled" at http://paste.lisp.org/display/90480 | 13:00 |
replaceafill | oops, i should have used annotations :( | 13:00 |
yvl | yeah, but you kind of kill all the point of having security :) | 13:06 |
yvl | The thing that fails: schooltool.requirement.security.SectionRequirementViewersCrowd | 13:07 |
yvl | because activities are.... requirements | 13:07 |
replaceafill | :O | 13:07 |
yvl | yes, I know. | 13:07 |
yvl | umm, I got to run for ~15 mins | 13:12 |
yvl | brb | 13:12 |
yvl | if it makes you feel better, the security part there needs revisiting | 13:12 |
yvl | is too much complex | 13:13 |
yvl | umm it seems that you'll need to duplicate the parent crowds of requirement for activities | 13:18 |
yvl | I'll get to refactoring it some time | 13:18 |
yvl | so don't worry too much about code duplication | 13:18 |
yvl | see schooltool.requirement.security | 13:18 |
replaceafill | on it | 13:19 |
yvl | you may reuse the crowds defined there | 13:19 |
yvl | all except the ParentCrowd on ISection | 13:19 |
yvl | thanks, Douglas | 13:19 |
replaceafill | thank YOU Justas :) | 13:19 |
*** replaceafill has quit IRC | 13:54 | |
*** replaceafill has joined #schooltool | 13:58 | |
replaceafill | lisppaste5, url | 14:01 |
lisppaste5 | To use the lisppaste bot, visit http://paste.lisp.org/new/schooltool and enter your paste. | 14:01 |
lisppaste5 | replaceafill annotated #90480 "untitled" at http://paste.lisp.org/display/90480#1 | 14:02 |
replaceafill | yvl, if i add the teachers crowd to the 'schooltool.view' permission for IGradebook, it works | 14:05 |
lisppaste5 | replaceafill annotated #90480 "untitled" at http://paste.lisp.org/display/90480#2 | 14:11 |
replaceafill | simpler | 14:11 |
yvl | true | 14:12 |
yvl | btw, It's a bit weird that you did not get an Unauthorised because of student's first_name, last_name | 14:12 |
yvl | can you check if "Everyone can see personal info" or something is disabled in your instance? | 14:14 |
yvl | and tests with a new person within Teachers group (but not instructing any sections) | 14:15 |
replaceafill | you mean: "Everyone can view info of persons"? | 14:15 |
yvl | yes, that one | 14:17 |
replaceafill | it's checked | 14:17 |
yvl | uncheck and test again | 14:17 |
replaceafill | ok | 14:17 |
yvl | should fail, but I'm not certain with all the removeSecurityProxy'ies in the gradebook | 14:18 |
replaceafill | hhmm disabling it doesnt allow me to get to the interventions page | 14:18 |
replaceafill | i mean, for a student | 14:18 |
replaceafill | i can get to the search form | 14:19 |
replaceafill | if the student is not in one of my sections, i get the error | 14:19 |
replaceafill | but if the student is in one of my sections, it still works | 14:19 |
replaceafill | :S | 14:19 |
replaceafill | SLA has it checked ;) | 14:20 |
yvl | whatever then | 14:21 |
yvl | but you may want to file a bug or something :) | 14:21 |
ignas | yvl, notify me when you will solve the "user view" vs "user title view" problem | 14:21 |
ignas | thanks ;) | 14:21 |
yvl | interventions are kind of released | 14:21 |
yvl | will do, ignas, will do | 14:21 |
ignas | ahh, hmm - isn't title a view by the way? | 14:22 |
yvl | and then I'll go on vacation | 14:22 |
yvl | too ski | 14:22 |
yvl | in Hell | 14:22 |
ignas | I thought I had user/@@title in most cases? | 14:22 |
yvl | ignas, not everybody knows that :|||| | 14:22 |
ignas | which allows for a more fine grained control of the attribute | 14:22 |
ignas | as in - user/@@title is a view that is mostly public or something like that | 14:23 |
ignas | yvl, not using @@title causes i18n problems with first name last name order | 14:23 |
ignas | Mikalajūnas, Ignas | 14:23 |
ignas | vs Ignas Mikalajūnas | 14:23 |
yvl | good point | 14:23 |
yvl | thanks | 14:24 |
replaceafill | i see title as a property in basicperson | 14:24 |
ignas | there is a property too, but most of the time, at least in templates you want to use the @@title view | 14:24 |
replaceafill | ah | 14:25 |
ignas | as that allows other people to override it for their skin for example | 14:25 |
ignas | I *think* | 14:25 |
ignas | though - it's been like what - 6 months since I last looked at it | 14:25 |
ignas | anyway 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 |
ignas | i mean "advanced" solution | 14:27 |
replaceafill | ignas, how do i avoid the use of removeSecurityProxy? | 14:28 |
replaceafill | i see lots of calls in schooltool.gradebook | 14:29 |
ignas | you don't ;) | 14:29 |
ignas | well sometimes you can | 14:29 |
ignas | but it depends, really | 14:29 |
ignas | i mean - especially with persons/gradebooks | 14:29 |
ignas | removeSecurityProxy indicates a switch from model based security | 14:29 |
ignas | to view based security | 14:29 |
ignas | and a mismatch between those two | 14:29 |
ignas | so you either - make them match | 14:29 |
ignas | by changing permissions on the a) context or b) view | 14:30 |
replaceafill | you mean like "let's protect the view and expose the context in the view" | 14:30 |
ignas | or - you use removeSecurityProxy | 14:30 |
ignas | no, 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 |
yvl | it's more of a way to solve clashes of multiple contexts | 14:31 |
ignas | if you know that the user who can see the gradebook view | 14:31 |
ignas | is "trusted" to see any content on the view | 14:31 |
ignas | even though he can't see the content "any other way" | 14:31 |
ignas | like - a teacher can see all the titles of students in his gradebook view | 14:31 |
ignas | while has no permission to see PersonInfo view on the students | 14:32 |
replaceafill | ah, got it | 14:32 |
ignas | PersonInfo View 'view' == Person 'view' (matches) | 14:32 |
ignas | it's a double security system | 14:33 |
ignas | yvl is keeping it safer | 14:33 |
yvl | for one, it's a pile of additional work to make it less safe | 14:33 |
yvl | :) | 14:33 |
ignas | so if you make a mistake by exposing some data in the view that the user has no rights to see | 14:33 |
ignas | he will get the 'access denied' | 14:33 |
ignas | so a mistake will lead to denial of service | 14:34 |
ignas | the alternative is - a mistake that leads to a security hole | 14:34 |
ignas | you just have to choose between - teachers can't see gradebook unless they make student info public for everyone to see | 14:35 |
ignas | and - students can delete terms | 14:35 |
ignas | :D | 14:35 |
replaceafill | :| | 14:35 |
ignas | (both things can still happen no matter which scheme you chose, but the probabilities are different) | 14:36 |
yvl | both mistakes were made, IIRC | 14:36 |
ignas | you recall correctly ;) | 14:36 |
replaceafill | yvl: | 14:37 |
replaceafill | <page | 14: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 |
replaceafill | anyone can modify the order of worksheets | 14:38 |
yvl | I was wondering what those post forms were doing there | 14:39 |
yvl | sigh. | 14:39 |
replaceafill | and anyone can access the "Columns Preferences" view too | 14:40 |
yvl | again, sigh. | 14:40 |
replaceafill | i should file bugs, right? | 14:41 |
yvl | only if you are sure that they exist | 14:42 |
yvl | code is tricky there | 14:42 |
yvl | If activity is put on a section, it has 'schooltool.view' for Learners, Instructors and one more crowd | 14:42 |
yvl | sorry, but I did not do the security descriptions for gradebook yet | 14:43 |
replaceafill | the column preferences is protected by the security setting "Everyone can view info of persons" | 14:44 |
replaceafill | but the worksheets order is not | 14:45 |
replaceafill | oh wait | 14:45 |
replaceafill | nope, both are exposed | 14:46 |
replaceafill | the login form appears *after* hiding the columns | 14:46 |
ignas | right | 14:48 |
yvl | Douglas, some time later I'll build a testing thingie for them | 14:48 |
ignas | the idea of "you have to make person info public to use this part of the system" is *bad* | 14:48 |
yvl | Ability to list security checks in functional tests | 14:48 |
ignas | yvl, no good, too many | 14:48 |
yvl | ignas, don't worry, with sane filtering | 14:49 |
ignas | though - you probably only care about the "last" one | 14:49 |
yvl | and match them with descriptions that are presented to the user | 14:49 |
yvl | ignas, actually no - we want to see relevant checks | 14:49 |
yvl | grouped and filtered | 14:49 |
ignas | a check is performed on every attribute access | 14:49 |
replaceafill | yes, i just learned that :) | 14:50 |
ignas | one page load produces 500 or so | 14:50 |
yvl | most of them are on the same object | 14:50 |
ignas | not really | 14:50 |
yvl | others can be grouped by object class | 14:50 |
replaceafill | zope.security-3.4.2-py2.5-linux-i686.egg/zope/security/checker.py | 14:50 |
ignas | the whole traversal stack all utilities | 14:50 |
yvl | others can be filtered out - you don't want to see all the viewlet checks sometime | 14:50 |
ignas | and a lot of adapters | 14:50 |
ignas | oh and viewlets | 14:51 |
ignas | and viewlet contexts | 14:51 |
yvl | yes, I know that | 14:51 |
yvl | but the last check is not good enough | 14:51 |
ignas | if you would manage to show the "permission denied "because"" thing i think that would solve most of the debugging cases | 14:51 |
ignas | in the log in form | 14:52 |
yvl | I tried, failed | 14:52 |
yvl | will try again | 14:52 |
ignas | failed to solve, or failed to display the thing | 14:52 |
yvl | failed to display | 14:52 |
yvl | don't even remember now why | 14:52 |
ignas | well - I looked at it, thought a bit and then decided not to do it ;) | 14:52 |
ignas | can't recall why too | 14:52 |
* yvl looked at it, tried to do that, failed, decided to try again another time | 14:53 | |
ignas | hava a hunch that "it is difficult to return the reason when all you can return is True/False" | 14:53 |
yvl | and no object whatsoever, IIRC | 14:54 |
yvl | at least at the log-in view | 14:54 |
ignas | if I had to *solve* it in a day - i'd us a thread local to communicate between error reporting and permission handling code | 14:59 |
ignas | if that would not work - would go as far as Paste stacked variables | 14:59 |
yvl | I'm still hoping to avoid that | 14:59 |
yvl | but those solutions are on the table, sadly | 15:00 |
yvl | made me very, very sad :) | 15:00 |
ignas | you can always fork zope.security :P | 15:01 |
ignas | forks are on the table too ;) | 15:02 |
ignas | next to knives | 15:02 |
yvl | exactly | 15:02 |
ignas | I find it funny, even though our polish and lithuanian language versions are diverging, we still did not have to resort to ZCA | 15:04 |
ignas | even with grok being available | 15:04 |
yvl | 1:10:10 blend of Synephrine (From Patented Advantra-Z), Caffeine, and White Willow Bark (The herbal alternative to Aspirin) ? | 15:10 |
yvl | ZCA? :) | 15:10 |
ignas | Zope Component Architecture | 15:17 |
*** menesis has quit IRC | 15:22 | |
*** aelkner has joined #schooltool | 15:22 | |
aelkner | yvl: ayt? | 15:22 |
yvl | in a moment, aelkner | 15:25 |
*** jelkner has joined #schooltool | 15:30 | |
*** th1a has joined #schooltool | 15:40 | |
yvl | aelkner, I'm here | 15:43 |
aelkner | do you know who maintains this page, http://book.schooltool.org/htmlhelp/dev_sandbox.html | 15:43 |
aelkner | it has old instructions for branching | 15:44 |
aelkner | it should be bzr branch lp:schooltool, right? | 15:44 |
jelkner | aelkner: did you see the bug i filed this weekend? | 15:46 |
yvl | yes, thanks for pointing this out | 15:46 |
aelkner | jelkner: not yet, just got back from ITaly | 15:46 |
jelkner | how was your trip? | 15:46 |
aelkner | great, a long overdue reunion for me with various folks | 15:47 |
aelkner | great eating, of course | 15:47 |
aelkner | Dot enjoyed the cultural stuff | 15:47 |
jelkner | great to hear it | 15:47 |
aelkner | and the eating and dringing, ofcourse | 15:47 |
aelkner | drinking | 15:47 |
aelkner | jelkner: as far as bugs, i'm waiting for tom to tell me what he wants done first | 15:48 |
alga | >>> ITaly.providedBy(aelkner) | 15:48 |
alga | ? | 15:48 |
aelkner | yvl: bzr branch lp:schooltool.stapp2008spring doesn't work | 15:49 |
aelkner | alga: i lived there for two years. it's one of my favorite places in the workld | 15:49 |
aelkner | world | 15:49 |
aelkner | yvl: same for stapp2008fall | 15:49 |
yvl | I'll be a bad person and point at menesis | 15:50 |
aelkner | yvl: i wanted you to have that opportunity :) | 15:50 |
aelkner | i'll ask him at the meeting | 15:50 |
yvl | aelkner, I asked him | 15:55 |
yvl | it's on his TODO list apparently | 15:56 |
*** menesis has joined #schooltool | 15:58 | |
aelkner | menesis: i noticed you fixed whatever bug was preventing me from branching lp:schooltool, lp:schooltool.gradebook, etc. | 16:05 |
menesis | aelkner: not me, but good to hear that's fixed | 16:06 |
aelkner | who's in change of that, then? | 16:06 |
menesis | there has been some problems with launchpad codehosting recently | 16:06 |
aelkner | ah, the launchpad folks, i see | 16:06 |
aelkner | menesis: one thing though, i still can't branch lp:schooltool.stapp2008spring or fall, if that's the preferred one | 16:07 |
*** jelkner has quit IRC | 16:08 | |
aelkner | i suppose i could use the old branch for now, but could that be fixed soon? | 16:08 |
aelkner | also, who do i ask for updating http://book.schooltool.org/htmlhelp/dev_sandbox.html? | 16:08 |
menesis | aelkner: I have not created stapp2008* projects on launchpad | 16:09 |
aelkner | don't we need that for us developers? | 16:09 |
menesis | there are branches on lp mirrored from source.schooltool.org | 16:09 |
menesis | not sure what to do with it | 16:10 |
aelkner | who would? | 16:10 |
yvl | aelkner, you don't need to use stapp2008fall nowadays | 16:10 |
menesis | maybe absorb into schooltool | 16:10 |
yvl | lp:schooltool is sufficient | 16:10 |
yvl | for developers | 16:10 |
aelkner | i can use schooltool as my buildout now?! | 16:10 |
yvl | yes | 16:11 |
aelkner | i like the sound of that | 16:11 |
menesis | aelkner: I have "Update dev handbook" in my todo list. | 16:11 |
aelkner | menesis: how sson could you get to that? | 16:11 |
aelkner | otherwise, i'll be dependent on asking you direct questions to get my snadbox to work | 16:12 |
aelkner | and any other devleoper for that matter | 16:13 |
aelkner | yvl: can you email me a copy of the buildout.cfg you use in the schooltool project? | 16:15 |
aelkner | and does it include projects like schooltool.gradebook, schooltool.intervention, lyceum, etc? | 16:15 |
yvl | I'll edit schooltool book today | 16:19 |
aelkner | yvl: thanks. will it include intructions for using schooltool as buildout and pulling in the ther projects? | 16:20 |
aelkner | other | 16:20 |
menesis | aelkner: yvl and me will update dev_sandbox.html today | 16:20 |
yvl | (and yes, I enable gradebook, intervetnion and lyceum journal from time to time) | 16:20 |
yvl | aelkner, yes :) | 16:20 |
aelkner | cool, thanks | 16:20 |
*** dlobo has joined #schooltool | 16:21 | |
menesis | aelkner: I use the same setup as buildbot does -- bzr+ssh://source.schooltool.org/var/local/bzr/schooltool/buildbot/trunk/ | 16:21 |
menesis | it does checkout all projects into build/ | 16:21 |
aelkner | but i don't want to do that | 16:22 |
aelkner | it's better for me to have the projects side by side | 16:22 |
aelkner | as siblings in the sandbox | 16:22 |
yvl | true :) | 16:22 |
aelkner | yvl: to keep me going in the meantime, could you email me your schooltool buildpout.cfg? | 16:23 |
yvl | ok | 16:25 |
* th1a starts reading the backlog... | 16:27 | |
th1a | I'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 |
th1a | If the lp: changes are the only ones, I've already got them though. | 16:30 |
th1a | good morning aelkner, yvl, menesis, Lumiere, replaceafill. | 16:31 |
aelkner | morning th1a | 16:31 |
replaceafill | good morning everyone | 16:31 |
menesis | th1a: yes and you overwritten my changes as well so it's certainly an older book | 16:32 |
menesis | and hello world | 16:32 |
yvl | morning th1a | 16:33 |
th1a | menesis: Did you push your changes to LP? | 16:33 |
th1a | Feeling refreshed aelkner? | 16:33 |
aelkner | yes, much, thanks th1a | 16:33 |
th1a | Feeling refreshed yvl? | 16:33 |
yvl | a little bit yes, thanks | 16:33 |
aelkner | :) | 16:33 |
th1a | Not as much as if you spent a week in Italy. | 16:34 |
aelkner | in the hills with all the fresh air... | 16:34 |
aelkner | and fresh food :) | 16:34 |
menesis | th1a: yes | 16:34 |
th1a | So 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.html | 16:35 |
th1a | menesis: I'll make sure I straighten it out. | 16:35 |
th1a | So the immediate plan now is for me to spend some time poking at SchoolTool and making sure no common tasks throw tracebacks... | 16:36 |
th1a | and 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 | |
Lumiere | you're makin' me hungry here | 16:37 |
Lumiere | (morning everyone) | 16:37 |
th1a | Good morning Lumiere. | 16:38 |
th1a | menesis: Do you have any active concerns? | 16:38 |
menesis | th1a: no | 16:39 |
th1a | OK. | 16:39 |
th1a | yvl: You know what you're going to be working on for the next week or so? | 16:39 |
menesis | well, the same couple of bugs i'm waiting to be fixed by yvl | 16:39 |
th1a | If so we can focus the rest of the meeting on telling aelkner what to do... | 16:41 |
yvl | th1a: yes, loads :) | 16:41 |
th1a | OK then. | 16:41 |
th1a | aelkner: Do you know what your brother is talking about here: https://bugs.edge.launchpad.net/schooltool/+bug/483139 | 16:41 |
aelkner | looking... | 16:42 |
aelkner | uh, i don't knwo why that's happening, but after i get my sandbox set up, i could try to recreate | 16:43 |
aelkner | before telling aelkner what to do, people need to help me get my sandbox set up :) | 16:43 |
th1a | OK, I'll see if I can replicate it. | 16:44 |
yvl | aelkner: just sent you my buildout.cfg, school.zcml and some comments (better more than less) | 16:44 |
th1a | Is everyone haveing sandbox problems now? | 16:44 |
aelkner | replaceafill: are you using the new sandbox methods? | 16:44 |
aelkner | yvl: thanks | 16:44 |
replaceafill | aelkner, yes | 16:44 |
replaceafill | i had trouble with schooltool.stapp2008spring used at SLA last week, but menesis help me through it | 16:45 |
yvl | th1a: rumor has it we want to have schooltool installation without plugin conflicts. When's the deadline? | 16:45 |
aelkner | replaceafill: so no more stapp2008spring, right? | 16:45 |
th1a | plugin conflicts? | 16:45 |
replaceafill | aelkner, right | 16:45 |
yvl | at least for developers | 16:46 |
th1a | yvl: What do you mean by "plugin conflicts?" | 16:47 |
yvl | sorry | 16:47 |
yvl | package conflicts | 16:47 |
yvl | and manual apt/preferences editing | 16:48 |
th1a | Basically, 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 |
yvl | ok, good to know | 16:49 |
yvl | thanks | 16:49 |
th1a | So prioritize accordingly. | 16:49 |
yvl | I understand. | 16:49 |
th1a | OK, so moving on to telling aelkner what to do... | 16:49 |
th1a | 1) triage, but don't necessarily immediately fix jelkner's score system bug. | 16:50 |
aelkner | i'm on the edge of my seat | 16:50 |
aelkner | could you please assign it to me? | 16:50 |
th1a | 2) 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 |
aelkner | or i will, never mind | 16:51 |
th1a | I did. | 16:51 |
th1a | replaceafill: Did you look at the permissions bug in Interventions? | 16:51 |
replaceafill | th1a, yes | 16:52 |
th1a | OK, what's your analysis? | 16:52 |
replaceafill | yvl helped me this morning | 16:52 |
replaceafill | we got it | 16:52 |
replaceafill | i dont know if it's the right way though | 16:52 |
replaceafill | but it works | 16:52 |
replaceafill | i talked to chris last night | 16:52 |
yvl | th1a: technically, that bug is in gradebook | 16:52 |
th1a | Ah. | 16:52 |
replaceafill | ah yes | 16:52 |
th1a | Can you describe it to aelkner? | 16:52 |
yvl | and I was fixing another one last Wed because of misscomunication | 16:53 |
yvl | th1a: it would be better if replaceafill or I fixed it | 16:53 |
yvl | it takes a long time to explain | 16:53 |
th1a | That's fine with me. | 16:53 |
yvl | short to fix | 16:53 |
replaceafill | :) | 16:53 |
th1a | Well, he should understand what's going on. | 16:53 |
th1a | Give us a brief explanation. | 16:53 |
replaceafill | yvl, you go | 16:54 |
aelkner | i can look at the diff, too | 16:54 |
th1a | :-) | 16:54 |
yvl | yes, that would be best | 16:54 |
yvl | can we push that to a later date? | 16:54 |
th1a | I need to have a general idea... | 16:54 |
th1a | Give me a two sentence overview. | 16:54 |
replaceafill | i can try | 16:54 |
aelkner | is it in trunk already? | 16:54 |
replaceafill | ok here's what i discovered | 16:54 |
yvl | ok, you go :) | 16:55 |
replaceafill | the intervention's main view has a series of links to student's Report Sheets | 16:55 |
replaceafill | oh sorry yvl :( | 16:55 |
th1a | Go ahead replaceafill. | 16:55 |
yvl | [Report Sheets, not narratives... :/ ] | 16:55 |
aelkner | :) | 16:55 |
replaceafill | if you click one of those links you get to a schooltool.gradebook view | 16:55 |
replaceafill | a view of a IStudentGradebook | 16:55 |
th1a | (so was the bug report wrong?) | 16:55 |
yvl | [schooltool.gradebook, not shooltool.intervention... :|] | 16:55 |
yvl | [yes] | 16:55 |
replaceafill | th1a, yes | 16:56 |
th1a | Ah! | 16:56 |
replaceafill | it said narratives | 16:56 |
replaceafill | which lead me to the narratives package | 16:56 |
yvl | [and schooltool.interventions had a very very similar bug] | 16:56 |
replaceafill | :P | 16:56 |
th1a | Chris confirmed this? | 16:56 |
replaceafill | yes | 16:56 |
th1a | Ah. | 16:56 |
aelkner | lehmann still thinks in those terms | 16:56 |
replaceafill | i asked him last night | 16:56 |
th1a | OK, keep going. | 16:56 |
replaceafill | they call them Narratives | 16:56 |
replaceafill | but for us they're Report Sheets | 16:56 |
replaceafill | anyway | 16:56 |
th1a | Yes. | 16:57 |
replaceafill | you get to that view which is protected by the schooltool.edit permission | 16:57 |
aelkner | ah yes, and the old narratives weren't | 16:57 |
replaceafill | and the traversal gets you to IGradebook/IStudentGradebook/view.html | 16:57 |
replaceafill | using the debugger i found that the crowds were involved here | 16:58 |
aelkner | yup | 16:58 |
replaceafill | [instructors, admins, clerks, site managers] | 16:58 |
replaceafill | but not the teachers crowd | 16:58 |
replaceafill | so, if a teacher tries to see a studentgradebook for a section that is not his | 16:59 |
aelkner | boom | 16:59 |
th1a | Ah. | 16:59 |
replaceafill | the look up gets to the instructors crowd | 16:59 |
replaceafill | and he is not an instructor there | 16:59 |
replaceafill | and you get the login form | 16:59 |
aelkner | th1a: remember lehman's security policy was different than ours | 16:59 |
aelkner | all teachers can see all interventions | 17:00 |
th1a | Can we do it so that it checks to see if the user is a teacher of any of the student's sections? | 17:00 |
replaceafill | so, yvl's idead lead to this diff: | 17:00 |
replaceafill | http://paste.lisp.org/display/90480#1 | 17:00 |
replaceafill | look at the end | 17:00 |
aelkner | th1a: that would probably not be consistent with lehmann's desired model | 17:01 |
replaceafill | the second annotation | 17:01 |
yvl | so 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 |
replaceafill | yes | 17:01 |
th1a | Can 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 |
aelkner | if i'm going to be handling SLA now that i'm back, i will have a lot of questions | 17:02 |
aelkner | about the state of their sandbox | 17:02 |
aelkner | who knows the latest on that? | 17:03 |
replaceafill | i've been working with it | 17:03 |
replaceafill | in fact i have a question there | 17:03 |
replaceafill | they're using some old versions of everything | 17:03 |
aelkner | i know, i want to get them working with trunk | 17:04 |
replaceafill | schooltool, schooltool.gradebook, schooltool.stapp2008spring | 17:04 |
*** dlobo has quit IRC | 17:04 | |
aelkner | now ,more stapp2008spring | 17:04 |
replaceafill | should they be upgraded | 17:04 |
aelkner | no more, i mean | 17:04 |
aelkner | yes | 17:04 |
replaceafill | and one last thing | 17:04 |
aelkner | i'd want to work with chris alfano on that | 17:04 |
*** dlobo has joined #schooltool | 17:04 | |
replaceafill | chris reported an linking error in the UI | 17:04 |
replaceafill | that aelkner had fixed but they lost when we applied my xmlrpc branch | 17:05 |
aelkner | i'd lke to get them on the new sandbox as soon as i get mine working | 17:05 |
*** dlobo has quit IRC | 17:05 | |
replaceafill | so what i did was i made the xmlrpc methods into a plugin | 17:05 |
aelkner | aren't they in trunk? | 17:05 |
th1a | Yes, first get their code straighened out. | 17:05 |
replaceafill | so they can update their branches (schooltool, gradebook, and so on) | 17:05 |
replaceafill | and chris can have new xmlrpc methods | 17:06 |
aelkner | are they in trunk? | 17:06 |
replaceafill | like the createLinkedSections we discussed | 17:06 |
th1a | replaceafill & aelkner can you guys set a time to work through that together today? | 17:06 |
aelkner | replaceafill: after the meeting? | 17:06 |
*** ignas has quit IRC | 17:06 | |
th1a | (that = SLA's sandbox) | 17:06 |
replaceafill | aelkner, can we meet in the afternoon/evening | 17:07 |
replaceafill | i have to go out in the morning | 17:07 |
aelkner | replaceafill: name the time | 17:07 |
replaceafill | aelkner, im coming back at 5 pm your time | 17:07 |
replaceafill | what about 6pm your time? | 17:07 |
aelkner | replaceafill: i'll look for you here | 17:08 |
replaceafill | ah also, dwelsh and i are meeting tomorrow to test CanDo new changes | 17:08 |
aelkner | yvl: a question abot the buildout.cfg you sent me | 17:08 |
replaceafill | he wants a new deb for CanDo once we test things | 17:08 |
replaceafill | but i'll let dwelsh ask for that when the time is right :) | 17:09 |
yvl | aelkner, shoot | 17:10 |
aelkner | yvl: using that buildout, you only have the one bin/test | 17:11 |
Lumiere | replaceafill: email me the pubkey you need? | 17:11 |
aelkner | so do you use -p schooltool.gradebook to isolate the test to that package? | 17:11 |
yvl | ./bin/test -vs schooltool.gradebook | 17:12 |
yvl | and voila! | 17:12 |
aelkner | what's the difference between -vs and -p? | 17:12 |
yvl | or ./bin.test -vus schooltool.lyceum.journal -t the_something_something | 17:12 |
yvl | you can check ./bin/test -h | 17:13 |
yvl | lists all options | 17:13 |
yvl | basically I say -v for verbos | 17:13 |
yvl | verbose output | 17:13 |
replaceafill | Lumiere, don't have one yet, but i'll send it to you when i generate it | 17:13 |
yvl | -s for package | 17:13 |
yvl | and add u for unit tests, f for functional tests | 17:14 |
yvl | or omit them for all | 17:14 |
aelkner | yvl: got it, thanks | 17:14 |
yvl | common commands are "-vus schooltool.course -t SomeDoctestFunction" for unit test of a single function | 17:14 |
yvl | "-vfs schooltool.gradebook" to check if gradebook works functionally | 17:14 |
replaceafill | menesis, 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 commit | 17:15 |
yvl | for all | 17:15 |
Lumiere | replaceafill: k | 17:15 |
Lumiere | replaceafill: paste into skype works too | 17:15 |
replaceafill | Lumiere, thanks | 17:15 |
replaceafill | Lumiere, ah ok, will do | 17:15 |
replaceafill | aelkner, the index.html view for IActivities is protected by schooltool.view | 17:17 |
replaceafill | and so is the Column Preferences | 17:17 |
replaceafill | view | 17:17 |
aelkner | yes | 17:17 |
replaceafill | it's possible for teachers to change the order of worksheets for other teachers | 17:17 |
th1a | yvl: 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 |
th1a | We could work on that when aelkner comes up here on Thurs/Fri. | 17:18 |
replaceafill | aelkner, or hide columns to others :( | 17:18 |
yvl | th1a: quite | 17:18 |
th1a | OK. | 17:19 |
yvl | When discussing with replaceafill today I got thinking about security testing in general | 17:19 |
yvl | What I want to do is to write testing helpers *and* documentation (examples) | 17:19 |
menesis | replaceafill: oh so it's a new plugin. looks well done so far | 17:19 |
aelkner | replaceafill: admittedly, that needs work, but that will come into focus as we adjust to the new security features that yvl has given us | 17:19 |
replaceafill | menesis, i used all of your packages :) | 17:20 |
yvl | the thing is that gradebook inherits a lot of security declarations | 17:20 |
menesis | replaceafill: I will bump the zope.publisher to 3.4.9 in versions.cfg | 17:20 |
yvl | for example, activities inherit security from generic requirements | 17:20 |
replaceafill | aelkner, true | 17:20 |
yvl | and I want to have a common testing suite, so we can write tests, add declarations without thinking too much about it | 17:21 |
yvl | and debugging with pdb! | 17:21 |
aelkner | yeah! | 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 |
yvl | I'm quite sure about it :) | 17:22 |
th1a | How long do you think that will take? | 17:23 |
th1a | Monthish? | 17:23 |
yvl | definitely less | 17:23 |
yvl | at least from my side | 17:23 |
th1a | OK, good. | 17:23 |
yvl | I wanted to get it all last time, but it was a little to big for one run | 17:24 |
th1a | Understood. | 17:24 |
yvl | came close, and now I want to finish what I started. | 17:24 |
th1a | aelkner: 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 |
aelkner | ok, will do | 17:25 |
yvl | th1a, meanwhile if Alans queue empties a bit, I have some things on intervention that require attention | 17:26 |
yvl | handling empty email addresses for one; also fixing the broken unit test | 17:26 |
th1a | yvl: Can you file the bugs? | 17:27 |
yvl | ok | 17:27 |
th1a | aelkner: yvl has some stuff to keep you busy a while... | 17:28 |
aelkner | th1a: sonds good | 17:28 |
aelkner | sounds | 17:28 |
aelkner | th1a: please make sure to assign them to me | 17:29 |
th1a | yvl: I think you can do that as you make them. | 17:29 |
th1a | aelkner: We'll firm up what we're going to discuss Thurs/Fri as we see how things go the next couple days. | 17:29 |
aelkner | ok | 17:30 |
th1a | All right, I think that's about it. | 17:30 |
th1a | Have a great week gentlemen! | 17:30 |
aelkner | th1a: you, too | 17:30 |
* th1a drops the bag of gravel. | 17:30 | |
yvl | a great week for you all | 17:30 |
replaceafill | thanks guys | 17:31 |
aelkner | replaceafill: see you around 6:00 my time? | 17:31 |
replaceafill | aelkner, yes | 17:31 |
th1a | aelkner, Let Chris A know he's welcome too. | 17:31 |
aelkner | th1a: i'll be responding to their emails, including letting them know about this evening, so yes | 17:31 |
aelkner | i'll call his cell, too | 17:32 |
th1a | Thanks aelkner. | 17:32 |
aelkner | he definitely needs to be involved | 17:32 |
th1a | (note that I'm not necessarily saying fix all their bugs immediately) | 17:32 |
th1a | Some may be lower priority. | 17:32 |
aelkner | i understand | 17:32 |
th1a | Cool. | 17:32 |
* th1a goes to take a shower. | 17:32 | |
aelkner | the top prioroty is getting them a new sandbox with up to date trunk code | 17:32 |
aelkner | then we can see if some of the bugs just go away by themselves | 17:33 |
*** replaceafill has quit IRC | 17:36 | |
*** yvl has quit IRC | 18:09 | |
*** dlobo has joined #schooltool | 19:06 | |
*** mgedmin has quit IRC | 19:11 | |
*** menesis has quit IRC | 21:20 | |
*** alga has quit IRC | 21:38 | |
*** pcardune has joined #schooltool | 21:41 | |
*** menesis has joined #schooltool | 21:54 | |
*** menesis has quit IRC | 21:55 | |
*** lisppaste5 has quit IRC | 21:58 | |
*** lisppaste5 has joined #schooltool | 21:59 | |
*** menesis has joined #schooltool | 22:11 | |
*** chrisalfano has joined #schooltool | 23:33 | |
chrisalfano | hi alan! | 23:33 |
aelkner | hi chris | 23:34 |
*** chrisalfano has quit IRC | 23:49 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!