*** alga has quit IRC | 02:24 | |
*** alga has joined #schooltool | 02:28 | |
*** aks has joined #schooltool | 05:48 | |
*** alga has quit IRC | 06:00 | |
*** aks has quit IRC | 06:08 | |
*** aks has joined #schooltool | 06:08 | |
*** yvl has joined #schooltool | 09:13 | |
*** alga has joined #schooltool | 14:24 | |
*** th1a has joined #schooltool | 15:18 | |
*** aks has quit IRC | 15:35 | |
*** replaceafill has joined #schooltool | 16:21 | |
*** th1a_ has joined #schooltool | 16:26 | |
th1a_ | Hi aelkner, replaceafill, menesis yvl. | 16:31 |
---|---|---|
aelkner | morning | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
yvl | hey guys | 16:31 |
menesis | hi | 16:31 |
th1a_ | Things are a little crazy here today... my baby sitter is out sick. | 16:33 |
th1a_ | Also I have someone coming to clean the gutters at some point here... | 16:33 |
th1a_ | So... yvl, how's the model looking? | 16:34 |
yvl | oh sorry | 16:36 |
yvl | was out to make some coffee :) | 16:37 |
yvl | okay... | 16:37 |
yvl | it is not finished yet | 16:37 |
yvl | current status | 16:37 |
yvl | all of the data structures are in place, as well as supporting code | 16:37 |
yvl | I'm finishing validation at the moment | 16:38 |
yvl | it's finicky | 16:38 |
yvl | things on my TODO list... | 16:38 |
th1a_ | When are you validating? | 16:38 |
yvl | on node relationship changes | 16:38 |
yvl | and on node layer changes | 16:38 |
yvl | so that the change does not break the model | 16:39 |
yvl | I also implemented skills as normal requirements | 16:39 |
yvl | and I'll have to add catalogs for fast grade access | 16:40 |
yvl | storing grades in one root place would be worth it when writing from scratch | 16:40 |
th1a_ | I would think it is finicky since it is flexible. | 16:40 |
yvl | one could think that | 16:41 |
yvl | replaceafill could actually start writing "projects" part of the cando gradebook quite soon | 16:41 |
yvl | ah, I need to check skill retirement | 16:42 |
yvl | but other then that, it should be pretty much workable | 16:42 |
yvl | oh, and no security declarations in place yet | 16:42 |
yvl | easier to do when you actually have some views | 16:42 |
th1a_ | kk | 16:42 |
yvl | so the TODO thing | 16:43 |
yvl | I need some minor helpers, like availableParentNodes and availableNodeLayers | 16:43 |
yvl | for node linking views | 16:43 |
yvl | I want to do a simple importer | 16:43 |
yvl | I need simple views to display current document model | 16:44 |
yvl | (both layers and nodes) | 16:44 |
yvl | and add stupid relationship views for now, for: | 16:44 |
yvl | skillset -> course linking | 16:44 |
yvl | node-node linking | 16:45 |
yvl | node-layer linking | 16:45 |
yvl | ah, layer vocabulary | 16:45 |
yvl | and that's pretty much that | 16:45 |
yvl | the nearest plan could be: | 16:46 |
yvl | I push changes (after I look at project's skill retirement), replaceafill starts working on project gradebook | 16:46 |
yvl | see what's missing, add that | 16:46 |
yvl | I finish validation and do a basic importer | 16:46 |
yvl | add the course->skillset linking | 16:47 |
yvl | that should be enough to start working on skill gradebook | 16:47 |
yvl | add the rest of the stuff | 16:47 |
th1a_ | This is just the skill side of the model right? Not the scores? | 16:47 |
yvl | also the scores | 16:48 |
yvl | skills are requirements, we'll be using the default evaluation storage mechanism | 16:48 |
th1a_ | OK, so I should consider this both your model tasks. | 16:48 |
yvl | yes | 16:48 |
th1a_ | That has a big impact on whether you're ahead or behind. ;-) | 16:48 |
yvl | true :) | 16:49 |
th1a_ | OK. It sounds good. | 16:49 |
yvl | I think we'll have to communicate closely with replaceafill | 16:49 |
* replaceafill too | 16:49 | |
th1a_ | Are there any potential minefields in sight? | 16:49 |
replaceafill | i'll definitely have questions :) | 16:49 |
yvl | because how exactly what should be added where may not be clear from first glance | 16:49 |
yvl | the little things | 16:50 |
yvl | like - skillsets always go in per-year container | 16:50 |
yvl | one project worksheet == one skillset copy | 16:50 |
yvl | there's also a minor thing on direct and indirect skill equivalency | 16:50 |
yvl | a === b | 16:51 |
yvl | b === c | 16:51 |
yvl | a == c | 16:51 |
yvl | well, I'll email replaceafill when I push | 16:52 |
replaceafill | thanks | 16:52 |
yvl | he should take a look, and we should do a hangout after that | 16:52 |
replaceafill | cool | 16:52 |
* yvl done | 16:53 | |
th1a_ | OK. Thanks yvl. | 16:53 |
th1a_ | menesis? | 16:53 |
menesis | don't think I have done anything for schooltool last few days | 16:54 |
menesis | other than finishing the release | 16:54 |
menesis | and splitting phillipinnes stories into detailed tasks | 16:54 |
th1a_ | How's that looking? | 16:55 |
menesis | not finished yet | 16:59 |
*** ignas has joined #schooltool | 16:59 | |
menesis | was doing that with Laurynas but both were busy with other tasks so little time | 17:00 |
menesis | will have to start doing instead of planning asap | 17:00 |
th1a_ | Yes. | 17:01 |
th1a_ | Well, if there is anything I can do to help push things forward, don't hesitate to get in touch. | 17:01 |
*** jelkner has joined #schooltool | 17:02 | |
menesis | not at the moment | 17:02 |
th1a_ | Thanks menesis. | 17:02 |
th1a_ | replaceafill? | 17:02 |
replaceafill | ok | 17:02 |
replaceafill | last week i helped Carlos Ramires with his demo importing problems | 17:03 |
replaceafill | he finally was able to import his data | 17:03 |
replaceafill | i also made the journal to use the new gradebook design/functionality | 17:03 |
replaceafill | i still have to fix some popup options, but i think it's done | 17:04 |
replaceafill | i experimented a little with qunit tests for the gradebook js | 17:04 |
replaceafill | i like qunit :) | 17:04 |
replaceafill | also | 17:04 |
replaceafill | i added a check to the date data converter | 17:05 |
replaceafill | for years lower than 1900 | 17:05 |
replaceafill | which fail using the strftime method | 17:05 |
replaceafill | thanks to yvl for reviewing that change | 17:05 |
replaceafill | on saturday a bug was reported on non-ascii characters | 17:06 |
replaceafill | in the delete view of a section | 17:06 |
replaceafill | so i fixed that one too | 17:06 |
replaceafill | which made me wonder a few things | 17:06 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool/flourish/revision/3375/src/schooltool/course/browser/stests/section_delete.txt | 17:06 |
replaceafill | could you take a look at that one please ^? | 17:07 |
replaceafill | manager.ui.schoolyear.add('Año2013'.decode('utf-8'), | 17:07 |
th1a_ | Is there a certain pattern of unicode tests we should be applying everywhere? | 17:07 |
replaceafill | SEND_KEYS_TO_ELEMENT in webdriver doesn't allow non-ascii strings. Should we encode in the browser extensions or in WebElement.type method or in the tests? | 17:07 |
th1a_ | That could be pointed out to all the developers... | 17:08 |
replaceafill | th1a_ actually this is the first non-ascii selenium test we have i think | 17:08 |
replaceafill | another thing i don't like: | 17:08 |
replaceafill | I can't use non-ascii strings like Año in print statement in a ftest/stest, instead of A...o | 17:09 |
th1a_ | Or should we just make a point of using a non-ASCII character in all our test strings. | 17:09 |
th1a_ | These are super-common bugs, so we have to be able to test for them. | 17:09 |
replaceafill | i agreee | 17:09 |
replaceafill | yvl, i'm not sure if my last complain can be fixed using encoding of the stest setup | 17:10 |
replaceafill | i remember i tried that some time ago, but didnt work | 17:10 |
yvl | selenium should be able to process this | 17:10 |
yvl | I'll check that | 17:11 |
replaceafill | thanks | 17:11 |
replaceafill | those two things would be a great help for this kind of test | 17:11 |
replaceafill | this bug reminded me of this other one: | 17:11 |
replaceafill | Crash trying to book a resource with unicode characters | 17:12 |
replaceafill | https://bugs.launchpad.net/schooltool/+bug/916086 | 17:12 |
replaceafill | i checked and it's a similar problem with url query parameters | 17:12 |
replaceafill | i didnt fix it, but i know how to do it now | 17:12 |
th1a_ | Feel free to fix it. | 17:13 |
replaceafill | in other things, i also check a fix for the "Are you sure you want to leave this page?" dialog for the gradebooks | 17:13 |
replaceafill | big mess with firefox and chrome | 17:13 |
replaceafill | different functionality :( | 17:13 |
replaceafill | but thanks to th1a_ we have a way to solve it ) | 17:13 |
replaceafill | :) | 17:13 |
replaceafill | so i have to do that too | 17:13 |
replaceafill | yvl, quick question | 17:14 |
replaceafill | i was writing a test for the gradebook | 17:14 |
replaceafill | and i wanted to print the "current" state | 17:14 |
replaceafill | without submitting the changes | 17:14 |
replaceafill | for example i take one cell and i change its value from 100 to 90 | 17:14 |
replaceafill | i wanted to print right there | 17:14 |
replaceafill | and get the 90 | 17:14 |
replaceafill | the problem is that my print helper searches for the @value attribute | 17:15 |
replaceafill | which at that point is not set for the input | 17:15 |
replaceafill | i'm using queryHTML from the analyze module for the helper | 17:15 |
replaceafill | then i thought i should use selenium for the helper | 17:15 |
replaceafill | (as we discussed some time ago) | 17:16 |
replaceafill | but then i found out that selenium has a similar problem | 17:16 |
replaceafill | if the attribute is not set in the element, selenium will return undefined | 17:16 |
replaceafill | or None | 17:16 |
replaceafill | so i have two options: | 17:16 |
replaceafill | 1. not print the current state of the gradebook, which sucks | 17:16 |
replaceafill | because i wanted to test that | 17:16 |
replaceafill | for the validation of the cell | 17:17 |
replaceafill | (valid, error, extracredit) | 17:17 |
replaceafill | or 2. | 17:17 |
aelkner | i have a similar problem to report, btw | 17:17 |
replaceafill | use execute_script somehow to get the value of the input through jquery | 17:17 |
replaceafill | jquery does return the value i want | 17:17 |
replaceafill | but it feels messy | 17:18 |
replaceafill | (i didn't try it though) | 17:18 |
yvl | can you access the value you want... | 17:18 |
yvl | without looking at html from selenium | 17:18 |
yvl | i.e. looking up the element and printing element.value or whatever | 17:19 |
replaceafill | ah ok | 17:19 |
replaceafill | i'll move the helper to use selenium then | 17:19 |
replaceafill | and report back | 17:19 |
* yvl is not 100% sure that will help | 17:19 | |
replaceafill | i think getValue as they call it in the mailing lists searches for the @value | 17:20 |
replaceafill | but i didnt test it | 17:20 |
replaceafill | but i will :) | 17:20 |
replaceafill | ok, last thing | 17:20 |
replaceafill | th1a, do you want this fixed in trunk, like this week? | 17:20 |
replaceafill | https://bugs.launchpad.net/schooltool.lyceum.journal/+bug/961854 | 17:20 |
replaceafill | export data as excel or csv | 17:20 |
th1a_ | If it fits in reasonably for you. | 17:21 |
replaceafill | kk | 17:22 |
replaceafill | i guess i'm done | 17:22 |
th1a_ | It sounds simple and very little risk so why not? | 17:22 |
replaceafill | cool | 17:22 |
th1a_ | Thanks replaceafill. | 17:22 |
th1a_ | aelkner? | 17:22 |
aelkner | ok, i finished the custom login task | 17:23 |
aelkner | that involved a tricky change to the app package to split selenium tests between old and flourish layers | 17:23 |
aelkner | yvl, thanks for the help with the __name__ problem | 17:23 |
aelkner | i created tests for the server tabs view | 17:24 |
aelkner | th1a, and in adding the missing breadcrumbs that you caught | 17:25 |
*** th1a has quit IRC | 17:25 | |
aelkner | i realized that we should have a tests for the breadcrumbs in our selenium tests | 17:25 |
aelkner | the first time a view is brought up, we do that everywhere | 17:26 |
aelkner | we could, i mean | 17:26 |
aelkner | anyway | 17:26 |
aelkner | i found a problem similar to what replaceafill was talking about with testing values | 17:26 |
aelkner | yvl, if you run my server_tabs.txt test, you notice that although the checkboxes changed | 17:27 |
yvl | replaceafill, problem with sending unicode keys confirmed, found a fix, looking how to apply it | 17:27 |
replaceafill | yvl, excellent! | 17:27 |
aelkner | the radio buttons didn't have the values changed | 17:27 |
aelkner | yvl, so i didn't bother to put tests for the change to the radio button | 17:29 |
aelkner | so as not to have false tests in there | 17:29 |
aelkner | the fact is, the expected changes happen upon submit | 17:29 |
yvl | oh, so if I run it, I can't see what's wrong? | 17:29 |
aelkner | no, you'd have to add a tests for whatever you think should happen | 17:29 |
aelkner | look at the first time i click the radio button | 17:30 |
th1a_ | aelkner: You're referring to testing the dynamic changes in the form, not it initial state, right? | 17:30 |
aelkner | yes | 17:30 |
aelkner | btw, it's 'checked' not 'value' that fails to change | 17:31 |
aelkner | yet disabled changes ok in the checkbox controls | 17:31 |
yvl | sorry aelkner, I won't bother to figure out what tests to put in to reproduce whatever is wrong | 17:31 |
aelkner | as my test shows | 17:31 |
aelkner | oh geez, fine, i'll put one in, merge to trunk, etc. | 17:32 |
aelkner | i can do that after i'm done chatting here | 17:32 |
yvl | did I say you can merge that to trunk? | 17:32 |
aelkner | ok, you can merge from my banch | 17:33 |
yvl | look, if it works for you, it works for me :) | 17:33 |
th1a_ | If only we had some way of distributing changes in a non-centralized way. | 17:33 |
aelkner | if only | 17:33 |
replaceafill | :D | 17:33 |
yvl | and I have your latest branch checked out already, aelkner | 17:33 |
th1a_ | Perhaps I could suggest that Mark fund the development of such a tool. | 17:33 |
th1a_ | Or maybe Linus Torvalds would like to take on the problem. | 17:33 |
aelkner | all sarcasm aside, it's not the tool, but the time spent communicating what braches we're talking about, etc. | 17:34 |
yvl | you could, th1a_, but you should ask Matt Mackall first | 17:34 |
aelkner | assuming trunk is our central commuicating point saves time in my opinion | 17:34 |
th1a_ | Anyhow... | 17:34 |
aelkner | but, if you want to merge with y branch, then i'll show you that later | 17:35 |
yvl | dude. | 17:35 |
yvl | it's like 8 seconds | 17:35 |
aelkner | yeah, np | 17:35 |
* yvl has a bound branch, because you asked to look at you changes few days before | 17:35 | |
aelkner | ok, so i fixed the student detail report to have the same period sort as the absences by day report | 17:37 |
aelkner | i notived that there hasn't been a commit by menesis to trunk since i last added the other period fix | 17:37 |
aelkner | so i fell it's safe to assume that they will be released together | 17:37 |
aelkner | feel | 17:38 |
aelkner | anyway, the importer now has automatic teachers and students being added to their groups | 17:38 |
aelkner | as we discussed on friday | 17:39 |
aelkner | i added a special xls test file to go along with the txt test | 17:40 |
aelkner | it's a smaller version of test_data.xls for reproducing the test | 17:40 |
replaceafill | aelkner, i wonder what will happen if i try to import only the persons sheet | 17:40 |
replaceafill | with no school year | 17:40 |
aelkner | try it :) | 17:40 |
aelkner | it shouldn't cause a problem | 17:41 |
replaceafill | ok | 17:41 |
aelkner | here's the thing | 17:41 |
aelkner | as we discussed on friday, the import does not check for limit groups | 17:41 |
aelkner | it can't anyway, so that was the right decision | 17:41 |
aelkner | just joking actually, but that omission is logical considering the year independence of the person object | 17:42 |
aelkner | really we can't control whether a person's membership to a group like teachers | 17:42 |
aelkner | varies from year to year | 17:42 |
aelkner | and its effect n whether a person can have a demo value for that field | 17:43 |
th1a_ | Yes... | 17:43 |
aelkner | and the person edit form | 17:43 |
th1a_ | Overall people having attributes they shouldn't is not really a problem. | 17:43 |
aelkner | that uses the current term | 17:43 |
aelkner | so that's how that works | 17:43 |
replaceafill | what should be the status of this one? | 17:44 |
replaceafill | https://bugs.launchpad.net/schooltool/+bug/944471 | 17:44 |
th1a_ | The purpose for this is hiding irrelevant things, but if values are assigned, then they aren't necessarily irrelevant for that person anyhow. | 17:44 |
aelkner | replaceafill, we're going to have to work together after the meeting to continue to define | 17:47 |
aelkner | the problems you are having with importing as we build a list of tasks for me in that area | 17:47 |
replaceafill | problems i'm having with importing? | 17:48 |
th1a_ | :-) | 17:48 |
aelkner | that bug report has a long thread of back and forth that involves many issues | 17:48 |
*** th1a_ is now known as th1a | 17:48 | |
aelkner | some are ust user error, some perhaps not | 17:48 |
replaceafill | aelkner, it was just a communication thread i think | 17:49 |
th1a | The bug is just the limited demographic fields one. | 17:49 |
aelkner | we discussed some of the language dependency issues that are not always thus | 17:49 |
aelkner | oh, so that bug doesn't have the unicode issues? | 17:49 |
replaceafill | aelkner, that would be my only problem with the importer | 17:49 |
replaceafill | aelkner, no | 17:49 |
replaceafill | that's the other one | 17:49 |
aelkner | sorry, because the other one does | 17:49 |
replaceafill | the one at the end | 17:49 |
replaceafill | yes | 17:49 |
aelkner | https://bugs.launchpad.net/schooltool/+bug/901267 | 17:50 |
aelkner | actually, i'm not sure yet if its unicode or user error yet | 17:50 |
yvl | oh, btw, replaceafill - unicode typing fixed committed | 17:50 |
replaceafill | yvl, thanks | 17:50 |
replaceafill | yvl, will i be able to do: | 17:50 |
replaceafill | >>> print foo | 17:51 |
replaceafill | niño | 17:51 |
replaceafill | or is it a fix for the type(...) method_ | 17:51 |
replaceafill | actually i should just look :D | 17:51 |
th1a | aelkner: I don't know that replaceafill actually spent any time on that but. | 17:52 |
th1a | bug | 17:52 |
aelkner | i thought that was the one that caused him to bring p the language issue | 17:52 |
replaceafill | i just realized that the timetable importer uses english days of the week | 17:52 |
replaceafill | aelkner, it is | 17:52 |
aelkner | those labels? | 17:52 |
replaceafill | but again, it's a broader issue i think | 17:53 |
aelkner | the ones that we are changing to 1-7 | 17:53 |
replaceafill | it's like | 17:53 |
replaceafill | "make the importer to match the language in the app forms" | 17:53 |
replaceafill | if the person add form shows a label | 17:54 |
replaceafill | that should match the importer column | 17:54 |
replaceafill | (or something like that) | 17:54 |
aelkner | sample_data.xls is in english, yes | 17:54 |
replaceafill | but never mind, these are crazy ideas from mine | 17:54 |
aelkner | we could create one for each language | 17:54 |
replaceafill | aelkner, to me it should be generated | 17:55 |
th1a | Look. | 17:55 |
th1a | Not now. | 17:55 |
aelkner | but did you try exporting in portugese | 17:55 |
th1a | Here's what we are doing. | 17:55 |
* replaceafill shuts up | 17:55 | |
aelkner | because there, if it gives english, that would be a problem | 17:55 |
th1a | I want the importer code to be not dependent on English. | 17:55 |
aelkner | replaceafill, don't shut up | 17:55 |
replaceafill | yvl, did you push to trunk? | 17:55 |
aelkner | how come no one listens to me ;( | 17:56 |
replaceafill | aelkner, i'm listening to you | 17:56 |
th1a | I'm less concerned with automatically generating a translated template. | 17:56 |
aelkner | the importer does not check labels | 17:56 |
th1a | That is a good idea, but not so important. | 17:56 |
th1a | The import code cannot be dependent on any specific cells being in english. | 17:56 |
aelkner | ok, and when did it ever do this thing that you are talking about? | 17:57 |
aelkner | ok, perhaps it never did and you are just saying, don't have bugs or something | 17:57 |
aelkner | anyway, replaceafill, it's no problem if you find a bug | 17:58 |
th1a | What is the nature of https://bugs.launchpad.net/schooltool/+bug/944471 ? | 17:58 |
aelkner | i just haven't seen one yet pointing to language dependence | 17:58 |
replaceafill | aelkner, export an xls with a timetable in a language that is not english | 17:58 |
th1a | Well, I am asking you to check, which you should be able to do while you're reviewing the importers. | 17:58 |
replaceafill | and try to import it back | 17:58 |
th1a | Does it break in demographics? | 17:59 |
replaceafill | th1a, the nature? | 17:59 |
replaceafill | no, it breaks the timetable importer | 17:59 |
aelkner | replaceafill, ok, it's an export bug | 17:59 |
th1a | We are exporting i18n-ed days and we don't know how to import them? | 17:59 |
replaceafill | a user would expect the exported xls in their language imo | 17:59 |
replaceafill | th1a, correct | 18:00 |
th1a | NOT IF THEY CAN'T BE IMPORTED. | 18:00 |
replaceafill | maybe i'm not going to import it :) | 18:00 |
th1a | OK. | 18:00 |
replaceafill | th1a, i don't understand your question about the nature of the bug? | 18:01 |
th1a | So we're talking about days of the week only in this case. | 18:01 |
th1a | I'm just trying to figure out what kind of bug this is. | 18:01 |
th1a | Which we are discussing. | 18:01 |
aelkner | we may have a bug in the exporter, or we may have a unicode interpretation problem upon reimporting | 18:01 |
th1a | The bug is we're using DIFFERENT WORDS. | 18:02 |
th1a | It would still fail in ASCII. | 18:02 |
th1a | If in my country "Monday" is translated as "ElknerDay" it will break our import/export cycle. | 18:02 |
th1a | Correct? | 18:02 |
replaceafill | yes | 18:03 |
replaceafill | because the importer expects Monday | 18:03 |
th1a | How are days stored internally? Numbers? 0-6? | 18:03 |
aelkner | replaceafill, have you found the code where it tests for 'Monday'? | 18:03 |
replaceafill | ['Monday', 'Tuesday'...] | 18:03 |
replaceafill | aelkner, timetable importer | 18:03 |
replaceafill | class | 18:03 |
aelkner | ah, there it is, titmetables! | 18:04 |
replaceafill | day_title = self.dows[int(day_id)] | 18:04 |
th1a | Anyhow we're now back to the solution, which has been clear all along anyhow. | 18:04 |
replaceafill | iirc | 18:04 |
th1a | There needs to be a row in the importer with numbers identifying the days, which is what we'll actually look at in the importer. | 18:05 |
th1a | Row in the sheet. | 18:05 |
th1a | We'll let the Lithuanians go home... | 18:05 |
th1a | Thanks guys! | 18:05 |
th1a | See you Wednesday. | 18:05 |
* th1a drops the bag of gravel. | 18:05 | |
th1a | Continuing... | 18:05 |
replaceafill | thanks everybody | 18:05 |
aelkner | thanks guys, until we meet on wednesday... | 18:06 |
aelkner | although, yvl, i could use your help a second here with timetables | 18:07 |
yvl | thanks guys | 18:07 |
aelkner | the importer has to create a DayTemplate object and pass it a title | 18:07 |
* replaceafill hates when bzr merge hides some revisions :( | 18:07 | |
aelkner | it's about process, too, not just tools :) | 18:08 |
yvl | sorry for that guys | 18:08 |
yvl | aelkner, please go ahead | 18:09 |
* yvl has to run soon | 18:09 | |
th1a | I don't think we need yvl to sort this import question out. | 18:09 |
aelkner | well, i'm creating DayTemplate objects, and the question is | 18:09 |
aelkner | should i be using _('Monday'), _('Tuesday'), etc. for that | 18:10 |
aelkner | or 1-7 as we discussed as our change for the import labels | 18:10 |
th1a | So in the data model they are actually in English? | 18:10 |
aelkner | that's why i;m asking yvl, because he is more fluent in timetables | 18:11 |
th1a | I guess that is more explicit than having to remember which day Day 0 is. | 18:11 |
yvl | are you adding them to WeekDayTemplates? | 18:11 |
aelkner | does our UI present day names to the user for approval? | 18:12 |
yvl | SchoolTayTemplates? | 18:12 |
aelkner | timetable.periods.templates[name] = day | 18:12 |
aelkner | day being a DayTemplate | 18:12 |
yvl | then again it don't matter, AFAIK | 18:12 |
yvl | hmm | 18:13 |
yvl | name matters a lot | 18:13 |
aelkner | that's a nameschooser name | 18:13 |
aelkner | it would be easier if we looked at the same lines of code, 480 in importer.py | 18:13 |
aelkner | in the School Timetables sheet, there are two tables | 18:14 |
th1a | I think there is some confusion about whether we're talking about "Monday" as the day of the week, the real, calendar defined, objective, universal day. | 18:14 |
th1a | Or the school's day in the timetable. | 18:15 |
yvl | ok | 18:15 |
yvl | aelkner, | 18:15 |
yvl | day title can be anything | 18:15 |
yvl | if you make it re-importable, I'm fine with it | 18:15 |
aelkner | well, i have to choose it | 18:15 |
aelkner | and when i do so, i fix it as something that the user neds to know to match to | 18:15 |
yvl | well, then choose it | 18:16 |
aelkner | i'm not sure how we could make that process bullet-proof | 18:16 |
yvl | sorry, gotta go | 18:16 |
aelkner | the user can change the language on an instance between export/re-import | 18:17 |
yvl | the answer is - you can use any | 18:17 |
aelkner | yvl, ok, thanks for you input | 18:17 |
yvl | good luck! | 18:17 |
yvl | see you Wed | 18:17 |
*** yvl has quit IRC | 18:17 | |
aelkner | replaceafill, what do you think? | 18:18 |
aelkner | do i need to change the class attribute, dows, to have the translatable strings | 18:19 |
aelkner | and just hope that the user doesn't change the language between export and reimport? | 18:19 |
replaceafill | again, you'd be relying on translations | 18:19 |
replaceafill | to me we should use codes | 18:20 |
th1a | YES. | 18:20 |
aelkner | ah yes, we could just use 1-7 | 18:20 |
th1a | ! | 18:20 |
replaceafill | :) | 18:20 |
aelkner | ok, i assumed because we had the days of the week that the users expected that | 18:21 |
replaceafill | that's what the importer expects :) | 18:21 |
aelkner | well, the importer expects the user wants the days of the week | 18:21 |
aelkner | but i guess if they are happy seeing 1-7 in the ui, then all is well | 18:22 |
replaceafill | why do we have to match the ui to what the importer expects? | 18:22 |
th1a | Is this error triggered in the term sheet? | 18:22 |
th1a | Is it where you mark the weekends? | 18:22 |
aelkner | the importer creates objects that are displayed in the ui | 18:22 |
replaceafill | i can see Monday in the ui and use code 1 in the importer ,can't i? | 18:22 |
replaceafill | th1a, no, the timetable sheet | 18:23 |
th1a | Is it only for certain timetable models? | 18:24 |
replaceafill | yes | 18:24 |
replaceafill | iirc | 18:24 |
replaceafill | for week of days | 18:24 |
replaceafill | oops | 18:24 |
replaceafill | days of week :D | 18:24 |
th1a | aelkner: Do you understand the significance of that? | 18:26 |
th1a | So basically, we should have the translated day of the week above a number corresponding to that day, and just ignore the text. | 18:27 |
th1a | Correct? | 18:27 |
aelkner | so, are you looking at the School Timetables sheet, at the top | 18:27 |
aelkner | there's a period days | 18:28 |
th1a | Or perhaps they need to be side by side. | 18:28 |
th1a | ;-) | 18:28 |
aelkner | which in the example i'm looking at, is set to week_days | 18:28 |
aelkner | that's a model factory | 18:28 |
th1a | I don't have a days of week timetable example handy. | 18:29 |
aelkner | day_templates = ( | 18:29 |
aelkner | ('calendar_days', CalendarDayTemplates), | 18:29 |
aelkner | ('week_days', WeekDayTemplates), | 18:29 |
aelkner | ('school_days', SchoolDayTemplates), | 18:29 |
aelkner | ) | 18:29 |
aelkner | that seems to be the list of available factories | 18:29 |
aelkner | if week_days is chosen, as in our case | 18:31 |
aelkner | then it needs to look up the weekday in a list which i have hard-coded in english | 18:32 |
aelkner | because i don't know where else to get the language independent names | 18:32 |
th1a | See, this is where you need to add a column that gets a number representing the day. | 18:33 |
th1a | Beside it can be the translated value for that day. | 18:33 |
th1a | Or nothing or nonsense. | 18:33 |
aelkner | this will take some time looking into as it involves grokking the timetable data model again | 18:35 |
th1a | It is pretty superficial as long as you remember that it is only for timetables that correspond directly to the days of the week. | 18:35 |
th1a | It is a direct mapping. | 18:36 |
th1a | Sunday:0, Monday: 1, etc. | 18:36 |
th1a | (or whatever) | 18:36 |
aelkner | if the chosen model is week_days, then yes, if it's school_days, then not so much | 18:37 |
aelkner | our samples have always been one fits all | 18:38 |
th1a | It is completely irrelevant to the other models. | 18:38 |
aelkner | ok, but i can't discuss it at the same time as grokking the data model, so... | 18:39 |
th1a | Unless this bug has nothing to do with the names of the days of the week. | 18:39 |
aelkner | it does, i think, but i can't say for sure yet | 18:39 |
aelkner | i think that maybe we could have a new column as you suggest | 18:39 |
aelkner | in our one fits all sheet | 18:39 |
th1a | MAYBE. | 18:39 |
aelkner | and just expect the user to know what our example sheet suggests when the model changes | 18:40 |
aelkner | we don't have too many examples of users using various models and the importer | 18:40 |
aelkner | so we don't have a lot of experience with this situation | 18:40 |
th1a | To be clear, we don't recommend users create or edit timetables in the importer/exporter. | 18:41 |
th1a | That is officially unsupported. | 18:41 |
th1a | As far as I'm concerned. | 18:41 |
aelkner | perhaps that's why we don't have as many user reports about it :) | 18:41 |
aelkner | but i can look into supporting it | 18:42 |
th1a | NO. | 18:42 |
th1a | We will never support that. | 18:42 |
th1a | The fix is, "Use the web UI." | 18:42 |
th1a | We just have to have import/export cycles that work for School Timetables. | 18:43 |
aelkner | well, if we make the change to include the new column, then we are supporting it | 18:43 |
th1a | export/import | 18:43 |
aelkner | yes | 18:43 |
aelkner | i'll just have to look at all this stuff and see what the data model is expecting | 18:43 |
aelkner | then perhaps i can find a way to add a column that makes sense for all three period day models | 18:45 |
th1a | NO. | 18:45 |
th1a | We don't need to add a column for all three, do we? | 18:45 |
aelkner | the sheets are one fits all | 18:46 |
aelkner | the cells are searched by row, column numbers | 18:46 |
aelkner | so if we insert a column, we have to change the code where the cells after that column are bumped up one | 18:47 |
aelkner | and that needs to fit for those period day models that don't have both a day of week title and a day number | 18:47 |
th1a | OK, so give them a blank column then. | 18:47 |
aelkner | but the first column can't be blank, so i guess the day number goes there | 18:48 |
aelkner | then the second column, day name, is filled in for week_days models only | 18:48 |
aelkner | i'm just spit-balling here, because i still haven't looked at the data model for period day models | 18:49 |
th1a | One problem is you keep making these statements about exploring the data model which just sound very time consuming. | 18:49 |
aelkner | they are, believe me | 18:49 |
th1a | OK, here's the fix then. | 18:50 |
th1a | We are done with this. | 18:50 |
replaceafill | th1a, one comment | 18:50 |
th1a | Change the exporter to be in English. | 18:50 |
th1a | OK? | 18:51 |
replaceafill | if it will take too much time from aelkner | 18:51 |
replaceafill | we still have the Importe i18n task for later | 18:51 |
replaceafill | it's scheduled for june i think | 18:51 |
* replaceafill goes to see the planner | 18:51 | |
replaceafill | yes, two weeks for that on june | 18:52 |
th1a | OK, you're off the bug aelkner. | 18:52 |
th1a | Just focus on the cando import issues. | 18:52 |
aelkner | can we do something about these bug titles | 18:53 |
aelkner | https://bugs.launchpad.net/schooltool/+bug/944471 | 18:53 |
aelkner | we're talking about timetables this whole time, but the title doesn't mention it | 18:53 |
aelkner | it's this huge thread is what i'm saying | 18:53 |
replaceafill | *that* bug was not about timetable issues | 18:53 |
replaceafill | it was about limited demos not appearing after importing | 18:53 |
aelkner | comment #13 is | 18:53 |
replaceafill | 1 of 13 :/ | 18:54 |
aelkner | that's what started this whole discussion | 18:54 |
replaceafill | you should focus on bug 901267 i think | 18:54 |
aelkner | i'm just saying, we could use a separate bug for just the timetable issue | 18:54 |
replaceafill | we have it aelkner | 18:54 |
replaceafill | it's 901267 | 18:54 |
replaceafill | comment 14 on the bug you mentiond | 18:54 |
replaceafill | mentioned* | 18:55 |
aelkner | right, so th1a, when you say i'm off those, could you update the bugs to reflect that? | 18:56 |
aelkner | change of status, assignment, so i know what to think when i come back to this | 18:57 |
aelkner | in the meantime, we can also talk about cando import | 18:57 |
th1a | yes aelkner | 18:57 |
aelkner | we started talking about that friday, and then it got shifted to the discussion we just finished | 18:57 |
aelkner | we did talk about the Students sheet | 18:58 |
aelkner | and i looked that discussion over last night to prepare myself to continue with you | 18:59 |
aelkner | i'm wondering why we need it again, if we just put the State ID as a demo | 18:59 |
aelkner | in the Persons sheet | 18:59 |
th1a | This is not only for Virginia. | 19:00 |
aelkner | and the automatic inclusion of students in the students group during section iport | 19:00 |
aelkner | that i just merged to trunk, shouldn't that cover that issue? | 19:00 |
th1a | Basically it is exactly like the persons import except it puts each person in the students group. | 19:00 |
th1a | It should be pretty easy to implement. | 19:01 |
aelkner | we discussed having the school year at the top | 19:01 |
aelkner | and otherwise, you're saying the same columns as the Persons sheets | 19:01 |
th1a | y | 19:02 |
aelkner | but just make sure the user is added to the students group for that year | 19:02 |
th1a | y | 19:02 |
aelkner | i wonder if i can code the Students sheet importer to call the Persons sheet importer | 19:02 |
aelkner | so that i woudn't need to clone the whole class | 19:02 |
th1a | Probably. | 19:03 |
aelkner | i think i can | 19:03 |
th1a | or subclass | 19:03 |
aelkner | anyway, shall we have a Teachers sheet as well | 19:03 |
aelkner | yes, a subclass could do the trick | 19:03 |
th1a | y | 19:03 |
aelkner | ok, that task is well defined now | 19:04 |
aelkner | anything else for cando that you have in mind for the importer? | 19:04 |
th1a | You have to go through the CanDo instructions and make them work for SchoolTool. | 19:04 |
aelkner | for instance, they have their own section enrollment importer | 19:04 |
th1a | I don't have anything in mind personally. | 19:05 |
aelkner | but they should be using the general one | 19:05 |
th1a | Well, what's the difference? | 19:05 |
aelkner | check this url out: | 19:06 |
aelkner | http://cando.cteresource.org/spreadsheets.html | 19:06 |
aelkner | so we can look at the same thing | 19:06 |
th1a | In general retaining their exact format is not the requirement. | 19:06 |
th1a | Where are the students listed? | 19:09 |
th1a | So there is kind of a header row and then a row for each student? | 19:10 |
th1a | I actually kind of like this version. | 19:10 |
aelkner | it's a flat table for all terms | 19:11 |
aelkner | some times these are convenient | 19:11 |
aelkner | they are ideal for sql import, for instance | 19:11 |
aelkner | our import is based on the export unfortunately | 19:11 |
th1a | We can keep both around a while. | 19:12 |
aelkner | or fortnately, depending on how you look at it | 19:12 |
aelkner | we could add a new one | 19:12 |
th1a | Stop the old export but keep the import code around. | 19:12 |
aelkner | are you making an important decision about removing the export feature? | 19:13 |
aelkner | is that what you mean about stopping the export | 19:13 |
aelkner | removing the view class and menu item? | 19:13 |
aelkner | or are you saing, don't export the new sheets | 19:14 |
th1a | I mean in the future exporting in the new format. | 19:14 |
aelkner | could you restate it more precisely please? | 19:14 |
th1a | The official format for importing and exporting in the October release will be a new one based on the CanDo version (but not necessarily exactly). | 19:15 |
th1a | But we will keep the old importer so we can still import older spreadsheets. | 19:15 |
th1a | (maybe) | 19:15 |
aelkner | well, i'm sure you're not suggesting creating two versions of the importer view class | 19:16 |
aelkner | i mean, we have the one view, and it has to be ale to import older spreadhetts | 19:16 |
aelkner | but also handle the new ones | 19:17 |
aelkner | Students, Teachers, All Sections | 19:17 |
th1a | Yes... | 19:17 |
aelkner | All Sections is my suggestion for the one that works like cando's example | 19:17 |
aelkner | our sections sheets are for fixed year/term | 19:18 |
aelkner | actally, the cando version has no year in it | 19:18 |
aelkner | so i guess that's because they assume the current year | 19:18 |
th1a | Well, yes, we have to improve them. | 19:19 |
th1a | Make it more SchoolTool compliant. | 19:19 |
th1a | But I think the format might be better. | 19:19 |
aelkner | we could have the year at the top, as with Students and Teachers | 19:19 |
th1a | I've never like the current one. | 19:19 |
th1a | This one seems clearer. | 19:19 |
th1a | Or per row. | 19:19 |
aelkner | yeah, it looks messy | 19:19 |
th1a | That is probably better -- per row. | 19:19 |
aelkner | year per row? | 19:20 |
th1a | Section 124 | Spring 2004 | 2004-2005 | etc | 19:20 |
aelkner | so include a year column | 19:21 |
th1a | Yes. | 19:21 |
aelkner | then it would mean all sections for all years | 19:21 |
th1a | y | 19:21 |
aelkner | too bad we couldn't do that for Students and Teachers | 19:21 |
aelkner | where we need to ask them to put a year at the top | 19:21 |
th1a | Those are strictly convenience views. | 19:21 |
th1a | We probably won't even export the student and teacher sheets -- with values in them. | 19:22 |
aelkner | i'm just wondering, if we auto-assign in the section import, why we even need the Students and Teachers sheets | 19:22 |
aelkner | sorry if i ask that again, but i'm just trying to make sure | 19:23 |
th1a | We don't strictly speaking. | 19:23 |
th1a | Actually, we do because people may manually set up the actual sections. | 19:23 |
aelkner | ah, ok | 19:24 |
aelkner | and it's just for convenience anyway, as you said | 19:24 |
aelkner | and we won't export it | 19:24 |
aelkner | but for the sections, we can export that one | 19:24 |
th1a | We must. | 19:24 |
aelkner | right | 19:25 |
aelkner | ok, i got what i need now, thanks | 19:25 |
th1a | kk | 19:25 |
th1a | Thanks aelkner. | 19:26 |
th1a | Just to be clear -- this should be using the attributes we've got for SchoolTool sections, not the CanDo meta-data. | 19:28 |
th1a | (if there is a difference) | 19:29 |
aelkner | yes, they include course title when they don't need to | 19:31 |
aelkner | since we have the Courses sheet | 19:32 |
aelkner | and the __name__, called ID, has to match the All Sections sheet | 19:32 |
aelkner | you know, there are various degrees of how far you want to go with flattening | 19:33 |
aelkner | in theory, we could have a REALLY flat table which defines years, terms, courses, and sections | 19:33 |
aelkner | and the first row for a given year has the ID and title, and all rows after that | 19:34 |
aelkner | are blank in those cells until the year changes | 19:34 |
aelkner | and then, within the year, the Term and its title can be defined | 19:34 |
aelkner | and then with that, the sections | 19:34 |
aelkner | though the courses would be problematic in that case | 19:35 |
aelkner | because they do not fall within a term | 19:35 |
aelkner | the basic ting is, we assume the user knows to use the IDs | 19:35 |
aelkner | that we must have to match up with our __name__ attributes | 19:36 |
aelkner | actually, it can't be completely flat and completely defining at the same time | 19:37 |
aelkner | it's a tricky set of data | 19:37 |
aelkner | but so you think i'm onto the right idea when i talk about blank cells | 19:38 |
aelkner | and the almost tree-like nature of flat data that has a clear heirarchy? | 19:38 |
* th1a looks back at xchat... | 19:38 | |
aelkner | the more i type, the more i think about this, we can't have courses defined in the same sheet | 19:39 |
th1a | I think the flatness they have is about right. | 19:39 |
aelkner | they have course, description as first two cols | 19:40 |
aelkner | the course id for them is a state code, i think | 19:40 |
th1a | Let's assume we're still going to have a separate course sheet. | 19:40 |
aelkner | weird, i'm looking at the import code in cando.virginia, and it doesn't match their example xls | 19:42 |
aelkner | it's slightly off | 19:42 |
aelkner | sorry, maybe not | 19:43 |
aelkner | uh, maybe so | 19:44 |
th1a | Just remember that we're trying to preserve their overall process not necessarily the specific fields, etc. | 19:44 |
aelkner | i'll need to talk to dwelsh about their process i think | 19:45 |
th1a | Uh... proceed with caution because he's going to have to change a bit more than he wants to. | 19:47 |
replaceafill | th1a, quick question | 19:47 |
th1a | Try to focus on getting him to explain the current process more than what changes we might need to make. | 19:47 |
th1a | kk | 19:47 |
replaceafill | https://bugs.launchpad.net/schooltool.lyceum.journal/+bug/661243 | 19:47 |
replaceafill | is that a valid issue? | 19:48 |
replaceafill | if it is, we have it in the gradebook too | 19:48 |
replaceafill | student names open popups, not their home pages | 19:48 |
th1a | We could add it as a menu item. | 19:51 |
replaceafill | ah | 19:51 |
replaceafill | Score, Report, Visit? | 19:51 |
replaceafill | :D | 19:51 |
replaceafill | Homepage? | 19:52 |
replaceafill | in the old days we used "View" for that iirc | 19:52 |
th1a | I think View is ok. | 19:53 |
replaceafill | kk | 19:53 |
replaceafill | i'll add it then | 19:53 |
th1a | Ideally maybe it should be in a dialog. | 19:53 |
th1a | Or not. | 19:53 |
th1a | Let's assume not for now. | 19:53 |
th1a | Can we open it in a different window/tab? | 19:53 |
th1a | Let's do that. | 19:53 |
replaceafill | :| | 19:54 |
replaceafill | ok | 19:54 |
th1a | I don't want it to take you away from the gradebook. | 19:56 |
replaceafill | agree | 19:57 |
*** paulproteus has quit IRC | 20:12 | |
*** paulproteus has joined #schooltool | 20:14 | |
*** menesis has quit IRC | 20:27 | |
replaceafill | great, we can use non-ascii in stests now :) | 21:18 |
*** jelkner has quit IRC | 21:22 | |
*** th1a_ has joined #schooltool | 21:55 | |
*** menesis has joined #schooltool | 21:58 | |
*** menesis has quit IRC | 23:33 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!