*** th1a has joined #schooltool | 05:38 | |
*** th1a has quit IRC | 06:52 | |
*** aks has joined #schooltool | 07:21 | |
*** aks has joined #schooltool | 07:21 | |
*** aks has quit IRC | 09:11 | |
*** aks has joined #schooltool | 09:27 | |
*** yvl has joined #schooltool | 10:06 | |
*** alga has joined #schooltool | 13:54 | |
*** aks has quit IRC | 14:19 | |
*** th1a has joined #schooltool | 15:34 | |
*** eein has joined #schooltool | 15:46 | |
*** replaceafill has joined #schooltool | 16:10 | |
*** menesis has joined #schooltool | 16:22 | |
th1a | hi replaceafill, menesis, yvl, aelkner. | 16:30 |
---|---|---|
replaceafill | good morning/afternoon | 16:30 |
menesis | hi | 16:30 |
aelkner | morning | 16:30 |
th1a | replaceafill has a lot of balls in the air, so we should probably start with him. | 16:30 |
replaceafill | :D | 16:31 |
th1a | replaceafill: Do you have any idea what's going on with this demo tomorrow? | 16:31 |
yvl | good morning | 16:31 |
* th1a doesn't. | 16:31 | |
replaceafill | th1a, not really | 16:31 |
th1a | I can talk to dwelsh. | 16:31 |
replaceafill | ok | 16:31 |
th1a | There may be some kind of video chat going on. | 16:31 |
* yvl congratulates replaceafill with having a lot of balls | 16:31 | |
replaceafill | :D | 16:31 |
* replaceafill starts passing balls to yvl ;) | 16:32 | |
replaceafill | ok | 16:32 |
replaceafill | 1. | 16:32 |
yvl | th1a, can I ask a very short | 16:32 |
yvl | question first :) | 16:32 |
yvl | does flying in on Sun, and leaving on Fri sound OK? | 16:32 |
*** menesis has left #schooltool | 16:32 | |
*** menesis has joined #schooltool | 16:32 | |
* yvl wants to confirm the flight, while it's still a work day here | 16:33 | |
th1a | yvl, y | 16:33 |
yvl | (because tomorrow is not) | 16:33 |
yvl | ok | 16:33 |
yvl | thanks | 16:33 |
yvl | replaceafill, please continue | 16:33 |
replaceafill | kk | 16:33 |
replaceafill | ok, i worked on joe's demo last week | 16:33 |
replaceafill | i cheated a little bit | 16:33 |
replaceafill | i created the projects from the skills for the course | 16:34 |
replaceafill | i didn't finish the "Skills" gradebook yet | 16:34 |
replaceafill | but David seemed to like it | 16:34 |
th1a | y | 16:34 |
replaceafill | and he made some observations to it | 16:34 |
replaceafill | 1. the legends for the score system | 16:34 |
replaceafill | i already created something similar to the journal | 16:35 |
replaceafill | http://69.164.203.135:6660/schoolyears/2011-2012/2012-spring/sections/math_a_2012-spring_teacher001_000/projects/Project-2/gradebook | 16:35 |
replaceafill | teacher001 | 16:35 |
replaceafill | feedback on wording is welcome btw :) | 16:35 |
replaceafill | or functionality ;) | 16:35 |
replaceafill | i was thinking of hiding the sidebar completely with the score legends, but... | 16:36 |
th1a | The help is fine. | 16:36 |
replaceafill | ... don't know if that's a good idea | 16:36 |
replaceafill | ok | 16:36 |
th1a | As far as I'm concerned. | 16:36 |
th1a | It is at least plausible. ;-) | 16:36 |
replaceafill | 2. David already "complained" about the worksheet navigation | 16:36 |
aelkner | replaceafill, the title at the top needs to change when the user clicks on cells, too, right? | 16:37 |
replaceafill | he thinks it's slower than the pulldown they used to have | 16:37 |
replaceafill | aelkner, not really | 16:37 |
th1a | He may be getting into premature optimization from our point of view. | 16:37 |
replaceafill | aelkner, we had that, but it created too much flickering | 16:37 |
replaceafill | aelkner, for instance when you move with the keyboard | 16:37 |
aelkner | why would it flicker? | 16:38 |
replaceafill | aelkner, so i only copied the "old" behavior | 16:38 |
replaceafill | aelkner, because it changed too quickly | 16:38 |
th1a | You mean it was just distracting? | 16:38 |
replaceafill | right | 16:38 |
replaceafill | i think some kind of timing would fix it though | 16:39 |
replaceafill | it's not difficult to put it back either | 16:39 |
replaceafill | ok, about the third-nav | 16:39 |
replaceafill | i have an idea of putting a vertical arrow on the right | 16:39 |
replaceafill | similar to firefox | 16:40 |
replaceafill | with the list of worksheets | 16:40 |
replaceafill | so the user can select from that | 16:40 |
replaceafill | if he/she wants to | 16:40 |
menesis | +1 | 16:40 |
replaceafill | instead of moving horizontally | 16:40 |
replaceafill | i almost got it, just need to style it right | 16:40 |
replaceafill | will have it ready for wed so you can see it | 16:41 |
replaceafill | i think those are all the observations from David | 16:41 |
replaceafill | ok | 16:41 |
replaceafill | 2. jelkner | 16:41 |
replaceafill | i sent an email to the dev list with my findings from jelkner's problem | 16:42 |
th1a | From a project management point of view now we just need to look at whether or not there are things replaceafill needs to be working on -- i.e., necessary infrastructure -- or just continue gradebook tweaking. | 16:42 |
th1a | Hopefully that will become clear in the next one to two hours. | 16:42 |
replaceafill | th1a, i think pdf styles would be next for me | 16:42 |
replaceafill | i mean, printed report styles | 16:42 |
th1a | Oh, I'd put gradebook tweaking before that. | 16:43 |
replaceafill | ah ok | 16:43 |
replaceafill | yvl, any advice on jelkner's issue? | 16:43 |
th1a | People use the gradebook *before* they print reports. ;-) | 16:43 |
replaceafill | th1a, :D | 16:43 |
replaceafill | true ;) | 16:43 |
th1a | replaceafill: +1 on the vertical arrow. | 16:44 |
replaceafill | th1a, great, i'll finish it and show it to you | 16:44 |
th1a | 1 second delay on updating the title from a cell would make sense too. Dunno if that's a pain in javascript. | 16:44 |
replaceafill | i'll try that | 16:45 |
yvl | replaceafill, sorry, I can't recall what's the issue | 16:45 |
replaceafill | yvl, the journal stored int_ids for the meetings | 16:46 |
replaceafill | but the timetable now uses titles for them | 16:46 |
replaceafill | for the meeting_id attribute | 16:46 |
replaceafill | date + title | 16:46 |
replaceafill | and the journal has date + int_id | 16:46 |
yvl | and there's an evolution script to fix that | 16:46 |
replaceafill | yes, the evolution script changes from int_id to title | 16:47 |
replaceafill | but the journal doesn't change | 16:47 |
replaceafill | so all the grades get out of sync | 16:47 |
yvl | hmm | 16:48 |
yvl | I'd need a Data.fs too look at that | 16:48 |
replaceafill | yvl, attached it in my email to the list | 16:48 |
replaceafill | with steps on how to reproduce | 16:48 |
yvl | oh, sorry | 16:48 |
yvl | I missed it | 16:48 |
replaceafill | np | 16:48 |
th1a | yvl: It's a serious bug so we need to get on it. | 16:49 |
replaceafill | i hope it's a jelkner thing | 16:49 |
th1a | A year from now it would be a major problem. | 16:49 |
th1a | Right now it only seems to affect jelkner. | 16:49 |
replaceafill | right | 16:50 |
replaceafill | ok | 16:50 |
th1a | But this seems to be a critical, data losing bug. | 16:50 |
replaceafill | at the end, i set an overrides on schooltool.pyquiz so evolve38 doesnt run | 16:50 |
replaceafill | th1a, fortunately, the data is still there :) | 16:50 |
th1a | Oh, whew. | 16:50 |
replaceafill | only it's not visible anymore | 16:50 |
replaceafill | :D | 16:51 |
yvl | replaceafill, a short question | 16:51 |
replaceafill | yes? | 16:51 |
yvl | do you need to branch @ rev 3199 to reproduce? | 16:51 |
replaceafill | yes | 16:51 |
replaceafill | that's one revision before the change to date + title was made | 16:51 |
yvl | if you use latest, it does not reproduce? | 16:51 |
replaceafill | yvl, correct | 16:52 |
replaceafill | because the grades are created with the current date + title logic | 16:52 |
replaceafill | so everything works fine | 16:52 |
replaceafill | and as i said in my email, jelkner created those timetable around september last year | 16:52 |
replaceafill | before that change | 16:52 |
yvl | ok, I'll look into that | 16:53 |
yvl | I think it *should* be Jeff specific | 16:53 |
replaceafill | yvl, thanks | 16:53 |
* replaceafill too | 16:53 | |
yvl | that's what happens when using bleeding edge ;) | 16:53 |
th1a | Jeff specific in what sense? | 16:53 |
yvl | replaceafill, huge thanks for tracking this down | 16:54 |
replaceafill | imo, in that not many people used flourish + journal in production before november | 16:54 |
replaceafill | yvl, was difficult :D | 16:54 |
replaceafill | but learned a lot about the calendars :D | 16:54 |
th1a | Ah, yes. | 16:54 |
yvl | hence the thanks! :) | 16:54 |
replaceafill | ok, my last ball | 16:55 |
th1a | OK, so you needed to be a pre-release user of flourish? | 16:55 |
replaceafill | yvl, sorry for flooding you | 16:55 |
replaceafill | th1a, correct | 16:55 |
th1a | OK. | 16:55 |
th1a | That's not so bad then. | 16:55 |
replaceafill | yvl, but i have a question on your locationproxy idea | 16:55 |
yvl | sure | 16:55 |
replaceafill | the thing is that the current gradebook looks into the section | 16:56 |
replaceafill | for the activities | 16:56 |
replaceafill | but in cando's case, the skills are attached to the course | 16:56 |
replaceafill | is there anyway, using the locationproxy, to simulate it | 16:56 |
replaceafill | like making the gradebook think that the skills are stored in a container of the section | 16:56 |
replaceafill | like IActivities(section) | 16:57 |
yvl | umm... isn't it what the location proxies are for? | 16:57 |
* replaceafill has no experience with location proxies, sorry :( | 16:57 | |
replaceafill | i looked for some of them in our code | 16:58 |
replaceafill | but didn't get too far | 16:58 |
yvl | LocationProxy(ob, container=section, name=ob.__name__) | 16:58 |
yvl | or rather the sectionskills, not section | 16:59 |
yvl | frankly, I don't know what's the best option here | 16:59 |
replaceafill | ok | 17:00 |
yvl | if it's too difficult to make it work, we can "duplicate" them to sections | 17:00 |
yvl | as in "deploy" | 17:00 |
replaceafill | right | 17:00 |
replaceafill | but in that case we lose the automatic ability to add/remove to the course and update the gradebooks, right? | 17:01 |
replaceafill | i mean, to add/remove skills | 17:01 |
aelkner | why can't the adapter just use the location proxy? | 17:01 |
aelkner | i mean, we do that with IGradebook(section) | 17:01 |
replaceafill | honestly, i should have tried harder before asking | 17:02 |
replaceafill | i'll do that | 17:02 |
replaceafill | just wanted to be sure if it was possible | 17:02 |
* replaceafill done | 17:02 | |
aelkner | IGradebook(worksheet) i meant, which is now IGradebook(IActivityWorksheet) | 17:02 |
aelkner | it's definitely overkill to deploy to the section | 17:03 |
replaceafill | +1 | 17:03 |
aelkner | since the connection to course is enough | 17:03 |
replaceafill | aelkner, we only need a proper url to the section skills | 17:03 |
aelkner | ..../worksheet/gradebook is an example of that | 17:04 |
eein | hi. i was looking at this project as a solution for gradebook, scheduling, report cards etc. it looks like this does all, is that correct? | 17:04 |
aelkner | .../section/skills? | 17:04 |
replaceafill | yeah, but worksheet comes from a container adapted to the section | 17:04 |
th1a | hi eein. | 17:05 |
th1a | eein: It should. | 17:05 |
th1a | eein: This is the middle of our regular development meeting so it is a difficult time to chat. | 17:05 |
eein | oops my bad :-) | 17:05 |
aelkner | replaceafill, let's make a deal, i need your help with something else, so after the meeting, we swap? | 17:05 |
th1a | np | 17:05 |
replaceafill | aelkner, kk | 17:06 |
replaceafill | th1a, that's all from me | 17:06 |
th1a | OK, let's let menesis have his turn because I have a feeling the rest of this is going to drag on for quite a while... | 17:06 |
th1a | menesis: I was debating whether we should wait for this journal bug to be fixed before releasing the rest of the 2.1 packages, but if you had to be a beta tester of flourish to have the problem, I guess it is not a blocker. | 17:07 |
menesis | true | 17:07 |
menesis | any other blockers? | 17:08 |
menesis | I can upload 2.1 packages today | 17:08 |
th1a | Nothing else came up. | 17:08 |
th1a | That would be fine, menesis. Thanks. | 17:09 |
th1a | Did you have a nice vacation? | 17:10 |
menesis | there is another bug that is related to calendar, https://bugs.launchpad.net/bugs/901267 | 17:10 |
menesis | importing of localized day names | 17:10 |
menesis | th1a: yes, thanks | 17:11 |
menesis | we were in Barcelona for 4 days | 17:11 |
th1a | Nice. Lots of good skateboarding terrain there. | 17:11 |
menesis | was quite cold on Friday | 17:11 |
menesis | on the day when in Lithuania temperature records for the day were broken :) | 17:12 |
th1a | High temps in Lithuania? | 17:12 |
menesis | +29 in april :) | 17:13 |
th1a | lol It has been chilly here lately but nice. | 17:13 |
menesis | but spent the weekend by the lake in lithuania, was sunny and hot | 17:13 |
menesis | nice :) | 17:13 |
th1a | menesis: We need to get to that bug but I wouldn't call it a blocker at this point. | 17:14 |
th1a | So you should be set for now menesis. Are you still working on the intelli project? | 17:14 |
replaceafill | th1a, we said we'll handle it under the "importer i18n" task | 17:14 |
replaceafill | around june iirc | 17:14 |
menesis | well ok not much related | 17:15 |
menesis | th1a: yes I should be working on that project this week | 17:15 |
th1a | OK. Cool. | 17:15 |
th1a | Let's move on then. | 17:15 |
th1a | Thanks menesis. | 17:15 |
th1a | aelkner? | 17:16 |
aelkner | ok, first, i finally got around to writing the error tests for the new Courses sheet columns and the FlatSectionsTable sheet | 17:16 |
aelkner | and that led to some nice refactorings | 17:17 |
aelkner | then i created the exporters of yearly and global skills that directly correspond to the imports | 17:17 |
aelkner | in so doing, i started a filename pattern that i'd like to ask everyone to continue | 17:18 |
aelkner | report.zcml should have ervey reportLink directive, every report request registration and every | 17:18 |
aelkner | report view reg, be it xls, pdf, whatever | 17:19 |
aelkner | then i created xls_views.py for xls views, and we should have pdf_views for those | 17:19 |
aelkner | let's try and keep this stuff tightly organized so it's easy for each of us to see each others changes | 17:19 |
aelkner | anyway, i have one more task to do in the core importer before merging to trunk | 17:20 |
aelkner | and that is, handle non-latin chars, but i'll discuss that with replaceafill after the meeting | 17:20 |
aelkner | that's it for me | 17:20 |
replaceafill | non-ascii chars :) | 17:20 |
aelkner | true :) | 17:21 |
th1a | Thanks aelkner. | 17:21 |
th1a | yvl? | 17:21 |
yvl | sorry, was away for a sec | 17:22 |
yvl | it's been somewhat a hectic week | 17:22 |
yvl | still working on ttw | 17:22 |
yvl | and tomorrow is a bank holiday, so I guess I won't have much to report on Wed also :| | 17:22 |
* yvl kind of done | 17:24 | |
yvl | on a trip organizational side... | 17:24 |
yvl | th1a, did you rent the car last time? | 17:24 |
yvl | how does one do that? | 17:25 |
th1a | I think they set it up and I paid for it. | 17:25 |
yvl | ah, ok | 17:25 |
th1a | They can do that. | 17:25 |
yvl | I'll ask them to do that again | 17:25 |
th1a | Should be fine. | 17:25 |
yvl | kk | 17:26 |
th1a | OK, so we have to figure out what aelkner and replaceafill are going to do next, particularly since yvl will be away next week as well. | 17:26 |
th1a | Should we just look at this as handing over the ttw task? | 17:27 |
th1a | To aelkner? | 17:27 |
yvl | umm | 17:28 |
aelkner | or some part of it at least? | 17:28 |
yvl | well, probably | 17:28 |
yvl | I don't know | 17:28 |
th1a | It is probably necessary. | 17:28 |
yvl | when do you want me to stop working on it | 17:29 |
yvl | ? | 17:29 |
th1a | Well, that would be the question. | 17:29 |
th1a | Do we have score history implemented in the model? | 17:29 |
yvl | no, it's a separate task | 17:29 |
yvl | and be careful with it | 17:29 |
th1a | Well, I was thinking you might want to start on that. | 17:30 |
aelkner | i'd let yvl handle the model | 17:30 |
th1a | That's what I meant. | 17:30 |
aelkner | ah | 17:30 |
th1a | Hand off the basic views to aelkner. | 17:30 |
aelkner | yvl, remember that the unit tests help drive the understanding of the model | 17:30 |
yvl | a very good point aelkner | 17:30 |
yvl | thanks for constantly reminding me that | 17:31 |
yvl | I really need it :) | 17:31 |
yvl | somebody cares! | 17:31 |
yvl | but really - thanks aelkner | 17:31 |
aelkner | well, i hope we care :) | 17:31 |
replaceafill | i care! but i don't mention it :P | 17:31 |
yvl | :D | 17:31 |
yvl | ok, so we all care :D | 17:31 |
yvl | it is good! | 17:31 |
yvl | ok, so I haven't pushed anything yet th1a | 17:32 |
yvl | and frankly it's a mess | 17:32 |
th1a | OK, well step one is cleaning it up and pushing it then. | 17:32 |
aelkner | yvl, perhaps you're trying to do too much at once? | 17:32 |
yvl | yes | 17:32 |
aelkner | for instance, the skills ui is clean, easy to understand | 17:33 |
th1a | Let's get the ttw stuff off your plate then. | 17:33 |
aelkner | and very helpful for the automated tests of the importer | 17:33 |
yvl | kk | 17:33 |
yvl | hmm | 17:33 |
yvl | let me work on it for a day or so then | 17:33 |
yvl | then again, I'll need a day to prepare for the trip | 17:33 |
yvl | say, Fri | 17:33 |
aelkner | we should be able to have a simple view to start looking at nodes to start, similar to the skillsets | 17:33 |
aelkner | like, the root level, so to speak | 17:33 |
aelkner | then, perhaps, we could branch off and devide ttw tasks from there | 17:34 |
yvl | and this week I basically have 3 work days left | 17:34 |
yvl | Wed, Thu, Fri | 17:34 |
th1a | Right. | 17:34 |
th1a | SO just clean up the ttw stuff and get ready for the trip. | 17:34 |
yvl | kk | 17:34 |
yvl | sounds like a plane | 17:34 |
yvl | plan :D | 17:34 |
yvl | and I'll hand it off to aelkner on Thu | 17:34 |
th1a | I guess aelkner and I can start working on reports. | 17:35 |
aelkner | pdf reports? | 17:35 |
th1a | HTML first. | 17:35 |
aelkner | for cando? | 17:35 |
th1a | Yes. | 17:36 |
aelkner | ok | 17:36 |
th1a | We'll need a long chat about that this afternoon. | 17:37 |
aelkner | yvl, shall we meet thurs at the standard meeting time? | 17:37 |
aelkner | so that we can discuss the ui and have enough time left over for you to make any quick | 17:38 |
aelkner | adjustments before leaving for Portugal | 17:38 |
yvl | sure aelkner | 17:40 |
aelkner | cool | 17:40 |
th1a | I'm thinking that the new version of the reports will be more dynamic -- search and filter built into the page -- so getting that set up will take a little work. | 17:42 |
aelkner | sounds interesting | 17:43 |
th1a | It should be fairly obvious in implementation. | 17:43 |
th1a | OK, so... 1:30 chat aelkner today? | 17:43 |
th1a | Let's do skype or a google hangout. | 17:44 |
aelkner | google hangout is best, let's you show screens to each other | 17:44 |
th1a | OK. | 17:44 |
th1a | replaceafill: Where are we with the whole skills/project, etc. thing? | 17:45 |
th1a | (a nice precise question) | 17:45 |
replaceafill | :D | 17:46 |
replaceafill | i'll have both gradebooks ready this week | 17:46 |
replaceafill | with ajaxy tabs | 17:46 |
replaceafill | (i left that in the middle because of joe's demo last week) | 17:46 |
replaceafill | i'll try to finish all these little gradebook details this week | 17:47 |
replaceafill | th1a, so wait a few nagging questions from me :) | 17:47 |
th1a | Sure. | 17:47 |
th1a | Yes? | 17:53 |
th1a | replaceafill: ayt? | 17:55 |
replaceafill | yes | 17:55 |
th1a | Do you have a nagging question? | 17:55 |
replaceafill | not now | 17:55 |
replaceafill | ah sorry | 17:55 |
th1a | Oh. | 17:55 |
replaceafill | i mean, during the week | 17:55 |
th1a | OK. :-D | 17:55 |
th1a | I guess we're done then. | 17:55 |
th1a | Thanks gentlemen. | 17:55 |
* th1a drops the bag of gravel. | 17:56 | |
aelkner | th1a, i'll call your home phone at 1:30 to start things off, ok? | 17:56 |
replaceafill | thanks everybody | 17:56 |
th1a | uh... | 17:56 |
th1a | It shouldn't be necessary to start the chat. | 17:56 |
aelkner | ok, we can meet here first | 17:56 |
aelkner | replaceafill, did you want to talk about the location proxy issue? | 17:57 |
replaceafill | aelkner, i want to try it out first | 17:58 |
aelkner | so, you're going to work on an adapter that sets the proxy, does that sound right? | 17:58 |
replaceafill | right | 17:58 |
aelkner | and you can have a traversal adapter for adding /skills or whatever | 17:58 |
aelkner | we do both of those things in schooltool.gradebook, so i'd look there | 17:59 |
replaceafill | aelkner, i did | 17:59 |
replaceafill | but i think this case is different | 17:59 |
replaceafill | in the regular worksheet case, you have IActivities, which contains the worksheets | 18:00 |
replaceafill | so you only need that adatper | 18:00 |
replaceafill | adapter* | 18:00 |
replaceafill | but in the skills case, you don't have a container for worksheets | 18:00 |
aelkner | your proxy needs to be that container | 18:01 |
replaceafill | right | 18:01 |
replaceafill | but the worksheets don't contain the activities (or skills) | 18:01 |
aelkner | until you make them :) | 18:02 |
replaceafill | anyway, i hope to figure it out today or tomorrow | 18:02 |
replaceafill | aelkner, your non-ascii issue now? | 18:02 |
replaceafill | or question :) | 18:03 |
aelkner | yeah, i was going to ask you for pointers about how i need to test the importer | 18:03 |
aelkner | i've been looking at: | 18:03 |
aelkner | http://bazaar.launchpad.net/~schooltool-owners/schooltool/flourish/revision/3395 | 18:03 |
aelkner | that change was for resource titles | 18:04 |
replaceafill | right | 18:05 |
aelkner | i guess the question is, how do we decide what needs special non-ascii tests | 18:05 |
*** ignas has joined #schooltool | 18:05 | |
replaceafill | when it fails :D | 18:05 |
aelkner | id and titles basically, or every possible field | 18:05 |
replaceafill | that was a traceback reported by someone | 18:05 |
aelkner | or someting in between | 18:05 |
aelkner | ah, so wait for a traceback and just fix that? | 18:06 |
replaceafill | i'd say that everything that user can enter is possible non-ascii | 18:06 |
replaceafill | like titles, descriptions | 18:06 |
replaceafill | and so on | 18:06 |
replaceafill | and some of them affect namechoosers | 18:06 |
replaceafill | and that's the hard part | 18:06 |
replaceafill | for example courses with non-ascii | 18:06 |
replaceafill | if you set a course with title "Comunicación" | 18:07 |
replaceafill | the ó is used by the namechooser | 18:07 |
replaceafill | and if you get that into a redirect call, you need to clean it first | 18:07 |
replaceafill | redirect is kind of dumb for decoding | 18:07 |
replaceafill | or encoding... | 18:07 |
replaceafill | same for schoolyear and term namechoosers iirc | 18:08 |
replaceafill | so in that case, you'd think you're safe only testing the title attributes | 18:08 |
replaceafill | but the url also needs testing | 18:09 |
th1a | One thing is to just never write a test without a non-ASCII character. | 18:09 |
th1a | In every field. | 18:09 |
aelkner | we've tried to make tests readable as a rule, so that future developers can learn from them | 18:10 |
aelkner | and it helps debugging one's own code when one oes back to it after a long while | 18:11 |
aelkner | so i guess adding non-ascii all over the place wold need to be done with that in mind | 18:11 |
th1a | aelkner, thrown in a damn ó | 18:11 |
replaceafill | i'd test specifically for non-ascii | 18:11 |
replaceafill | like in a separate test | 18:12 |
replaceafill | imho | 18:12 |
th1a | There is no ascii only case. | 18:12 |
th1a | ascii only means broken. | 18:12 |
* th1a waits for replaceafill to explain to me why that means SchoolTool is permanently broken. | 18:12 | |
replaceafill | uh? | 18:13 |
replaceafill | sorry th1a didnt get that | 18:13 |
th1a | Never mind. | 18:14 |
th1a | I was afraid you were going to point out a lot of places that only accept ascii. | 18:15 |
th1a | Is it just person id's? | 18:15 |
replaceafill | ah | 18:15 |
replaceafill | i think so | 18:15 |
aelkner | but, practically speaking, replaceafill, does it help to always add an ó to every input field | 18:15 |
replaceafill | because of zope security iirc | 18:15 |
th1a | It is not hard! | 18:15 |
replaceafill | aelkner, sure | 18:15 |
aelkner | ok, so we could start doing that with new tests | 18:16 |
replaceafill | but it's more important to identify what parts are affected by non-ascii | 18:16 |
replaceafill | like it said, redirect calls for example | 18:16 |
replaceafill | like i said* | 18:16 |
aelkner | getting back to that, that's a code issue, not a data issue | 18:16 |
aelkner | i mean, it's not related to the importer | 18:17 |
replaceafill | pay attention to the namechoosers and see if they use the title for setting the __name__ | 18:17 |
replaceafill | and so on | 18:17 |
aelkner | in the case of importing, the xls file chooses the __name__ | 18:17 |
replaceafill | you mean the user can affect __name__s, right? | 18:18 |
aelkner | so i guess i should add an ó to every id in the import test files | 18:18 |
aelkner | replaceafill, yes | 18:18 |
aelkner | and every other field for that matter | 18:19 |
replaceafill | then if those attributes are used in redirects, you need to clean them | 18:19 |
aelkner | so, basically, if the user uses non-ascii in import ids, they could expose vulnerabilities in the views | 18:20 |
replaceafill | correct | 18:20 |
aelkner | so it's not just the resource view that needs changing | 18:20 |
aelkner | ok, well, i don't see this as an import task per se | 18:20 |
aelkner | although, it could be easier to cover all the cases with an import test file | 18:21 |
aelkner | and visit every view that we already have tested otherwise | 18:21 |
aelkner | like person, course, section, term, etc. | 18:21 |
aelkner | to make sure the redirects work, i guess, i'm not sure here | 18:22 |
replaceafill | see for example: | 18:22 |
replaceafill | flourish/src/schooltool/course/browser/stests/section_delete.txt | 18:22 |
replaceafill | that was a problem in the delete view for *sections* | 18:22 |
replaceafill | caused by the __name__ of the school year | 18:22 |
replaceafill | again, you could test for non-ascii in the schoolyear package | 18:23 |
replaceafill | but schoooltool.course is still affected | 18:23 |
replaceafill | you know what i mean? | 18:23 |
aelkner | schoolyear, term, course, section, calendar, etc, etc | 18:23 |
replaceafill | right | 18:23 |
aelkner | it's not a small task to be sure | 18:23 |
replaceafill | that's what i say non-ascii tests should be specific | 18:24 |
replaceafill | but that's just my opinion | 18:24 |
replaceafill | i may be wrong | 18:24 |
th1a | Wouldn't that be as much work or more? | 18:24 |
aelkner | doing them specifically works when you have no users, the less users the less bug reports | 18:24 |
aelkner | if we assume that there will be a lot of users, it should work everywhere | 18:25 |
replaceafill | my point is that you won't catch every non-ascii issue in the existing code | 18:25 |
replaceafill | but you now know that you have to check the url you pass to redirect() | 18:26 |
replaceafill | that's more important | 18:26 |
aelkner | encode('utf-8') | 18:26 |
aelkner | luckily, it's not a data issue | 18:27 |
replaceafill | it's not a data model issue :D | 18:27 |
aelkner | :) | 18:28 |
replaceafill | and you're breaking ground in testing non-ascii in the importers | 18:28 |
replaceafill | i mean, in xls | 18:28 |
aelkner | yeah, perhaps i'll expose some bugs | 18:29 |
aelkner | anyway, that's all i need to discuss, thanks | 18:29 |
replaceafill | thank you aelkner | 18:29 |
aelkner | let me know if you need any input on the proxy thing | 18:31 |
replaceafill | will do | 18:31 |
th1a | replaceafill: I gave Vivian her XO today. | 18:31 |
replaceafill | :D | 18:31 |
replaceafill | Camila doesn't like Sugar | 18:32 |
th1a | She prefers GNOME? | 18:32 |
replaceafill | or maybe it was because i didn't spent much time explaining it to her | 18:32 |
replaceafill | yes | 18:32 |
th1a | She's getting an earlier start I guess. | 18:32 |
replaceafill | does Vivian like her XO? | 18:33 |
th1a | Well, it was kind of a spur of the moment thing, and I haven't explained it yet really. | 18:33 |
th1a | She was trying to get this old pocket organizer I have to work, which I can't even remember how to use, and I figured it would be easier to just get her XO running! | 18:34 |
replaceafill | :D | 18:34 |
th1a | I had started to do it earlier but got frustrated with a corrupted update file or something. | 18:34 |
replaceafill | th1a, remember the laptop you took me to buy when i was in providence? | 18:35 |
th1a | Vaguely. | 18:35 |
replaceafill | the one i bought in that awesome place called... | 18:35 |
replaceafill | ah bestbuy! | 18:35 |
replaceafill | :D | 18:35 |
replaceafill | that's Camila's laptop | 18:35 |
th1a | Ah. | 18:35 |
replaceafill | missing a lot of keys now... | 18:35 |
replaceafill | that's the price i decided to pay for her getting familiar with computers :D | 18:36 |
th1a | Indeed. I'll be curious to see if the XO works out for Vivian. | 18:38 |
th1a | She may need a mouse because that trackpad is a bit of a disaster. | 18:38 |
replaceafill | that's another reason Camila didn't like Sugar i think | 18:39 |
replaceafill | because the touchpad is the only thing she uses | 18:39 |
replaceafill | she doesn't like external mice | 18:39 |
replaceafill | i've read that new sugar versions fixed that though | 18:39 |
th1a | I thought it was a hardware problem. | 18:40 |
replaceafill | http://wiki.laptop.org/go/XO-1/Touchpad/Issues | 18:42 |
replaceafill | "Work-arounds in extreme cases include using a common USB mouse with the laptop. " :/ | 18:42 |
replaceafill | ah th1a i fwd a spanish reply to a venezuelan user | 18:48 |
replaceafill | i always get the same question | 18:48 |
th1a | ? | 18:48 |
replaceafill | people expect to access their ST at home from their office :/ | 18:48 |
replaceafill | sorry, i didn't fwd you, i bcc'ed you | 18:49 |
replaceafill | we have a faq in lp, right? | 18:50 |
th1a | Oh, from their home computer? | 18:51 |
replaceafill | yes | 18:51 |
th1a | OK, that's good to know. | 18:51 |
th1a | OK, Vivian's got Speak going. | 18:57 |
replaceafill | :) | 18:57 |
*** yvl has quit IRC | 18:58 | |
th1a | replaceafill: We just had Vivian spelling "poop" and "pee" while sitting next to Julia on the potty. | 19:22 |
replaceafill | :)) | 19:27 |
replaceafill | interesting http://article.gmane.org/gmane.org.user-groups.linux.tolug/57913 | 20:20 |
replaceafill | that's the behaviour i was thinking about :( | 20:21 |
th1a | Uh... I'm ok with it being full-time, if that's what you're saying. | 20:21 |
replaceafill | +1 | 20:21 |
*** ignas has quit IRC | 20:27 | |
th1a | aelkner? | 20:34 |
aelkner | here | 20:34 |
th1a | Are you getting my google hangout invite? | 20:35 |
aelkner | not yet | 20:35 |
th1a | Are you logged into google? | 20:36 |
th1a | I don't see you on google chat. | 20:36 |
th1a | ah | 20:36 |
th1a | replaceafill: Do we have scores in CanDo at this point? | 20:53 |
th1a | That is, can we write a competency report? | 20:54 |
replaceafill | yes | 20:56 |
*** menesis has quit IRC | 20:56 | |
replaceafill | schooltool.cando.skill.SkillScoreSystem | 20:57 |
* replaceafill goes to get lunch | 21:10 | |
aelkner | http://69.164.203.135:36660/skills | 21:11 |
th1a | aelkner: https://bugs.launchpad.net/schooltool/+bug/983912 | 21:37 |
th1a | aelkner, https://bugs.launchpad.net/schooltool.gradebook/+bug/544141 | 21:41 |
aelkner | https://bugs.launchpad.net/schooltool.gradebook/+bug/893013 | 21:42 |
* replaceafill back | 22:01 | |
*** menesis has joined #schooltool | 22:09 | |
*** replaceafill has quit IRC | 22:10 | |
*** replaceafill has joined #schooltool | 22:12 | |
*** th1a has quit IRC | 22:53 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!