*** dlobo has quit IRC | 00:02 | |
*** replaceafill has joined #schooltool | 00:45 | |
*** dlobo has joined #schooltool | 00:58 | |
*** dlobo has quit IRC | 01:02 | |
*** replaceafill has quit IRC | 01:16 | |
*** ignas has quit IRC | 01:35 | |
*** dlobo has joined #schooltool | 01:51 | |
*** alga has quit IRC | 02:26 | |
*** replaceafill has joined #schooltool | 03:45 | |
*** dlobo has quit IRC | 03:50 | |
*** th1a has quit IRC | 03:50 | |
*** povbot has joined #schooltool | 05:22 | |
*** pcardune has quit IRC | 06:26 | |
*** pcardune has joined #schooltool | 06:40 | |
*** pcardune has quit IRC | 06:45 | |
*** dlobo has joined #schooltool | 07:02 | |
*** pcardune has joined #schooltool | 07:18 | |
*** pcardune has quit IRC | 07:50 | |
*** dlobo has quit IRC | 08:16 | |
*** pcardune has joined #schooltool | 08:56 | |
*** replaceafill has quit IRC | 08:58 | |
*** pcardune has quit IRC | 08:59 | |
*** alga has joined #schooltool | 09:16 | |
*** pcardune has joined #schooltool | 09:35 | |
*** pcardune has quit IRC | 09:58 | |
*** ignas has joined #schooltool | 10:20 | |
*** yvl has quit IRC | 10:53 | |
*** yvl has joined #schooltool | 11:39 | |
*** Aiste has joined #schooltool | 13:10 | |
aelkner | yvl: ping | 13:16 |
---|---|---|
yvl | pong, aelkner | 13:29 |
aelkner | hey | 13:29 |
yvl | hi | 13:29 |
aelkner | i can say that i've read every line of code in our new package | 13:29 |
aelkner | of course, i have some questions | 13:29 |
yvl | great | 13:29 |
yvl | let me make some coffee; and I'm all ears | 13:30 |
aelkner | 1) no examples of tests? (: | 13:30 |
yvl | (for now just write shortly the main issues) | 13:30 |
aelkner | sure, go get your coffe | 13:30 |
aelkner | i see how you set up the skin, the layers and ftesting.zcml stuff | 13:31 |
aelkner | there are many ways to create tests | 13:31 |
aelkner | i prefer the txt file method | 13:31 |
aelkner | like one per python file most of the time | 13:32 |
aelkner | but if you feel the test_filename.py format with the tests as doc strings to methods | 13:32 |
aelkner | is preferable, then i would do it that way | 13:33 |
aelkner | but i'd appreciate an example of a test that you might have written | 13:33 |
aelkner | as a guide for writing my own | 13:34 |
aelkner | other agenda items: | 13:35 |
aelkner | cambodia issues include: | 13:36 |
aelkner | 1) disabling action buttons individually using zcml, i.e., how to do that | 13:36 |
aelkner | 2) i need to write a subscriber to add term to deploy report sheets automatically | 13:37 |
aelkner | there already is a subscriber for section added to the term that deploys the term's report sheets to the section | 13:38 |
aelkner | so all i need is to write the one subscriber | 13:38 |
aelkner | actually, now that i think about it, tom did mention choosing the weight of the activities | 13:39 |
aelkner | as a function of an attribute in the course object (i forget which, is it level?) | 13:39 |
aelkner | but anyway, that would be the point value for the max score | 13:39 |
aelkner | for all activities in the section's gradebook | 13:40 |
aelkner | then, somehow, the report card would take into account the weighting of the sections against each other | 13:40 |
yvl | [I'm back and reading, please continue] | 13:41 |
aelkner | the idea being, using the max value of each section's activities as the basis | 13:41 |
aelkner | for the calculation of the final grade | 13:41 |
aelkner | currently, our report card does not do any calculation | 13:42 |
*** ignas has quit IRC | 13:42 | |
aelkner | it just displays the values of the report sheets that are laid out | 13:42 |
aelkner | so i would perhaps need to create a new report card pdf view | 13:43 |
aelkner | that would take into account the maw score of the activities for each section that it displays | 13:43 |
aelkner | and display and average thereof | 13:43 |
aelkner | i'm now wishing that i thought of this issue when i was speaking with tom last night | 13:44 |
yvl | when I looked at the xls they sent | 13:44 |
yvl | it all seemed quite simple | 13:44 |
yvl | basically: | 13:44 |
yvl | they have a set of courses for each level | 13:45 |
yvl | (specified by the ministry) | 13:45 |
yvl | each course for each level has the max score | 13:45 |
aelkner | so we will have that attribute int the course for me to use | 13:46 |
yvl | yes | 13:46 |
aelkner | how will we do that? | 13:46 |
yvl | I am still adding it | 13:46 |
yvl | the data model will look something like this: | 13:47 |
yvl | for each year, there will be a container of levels | 13:47 |
yvl | each level will have relationships to some courses in that year | 13:47 |
yvl | each relationship will have it's max_score | 13:47 |
yvl | something like 12 level, Math course, max_score=50 | 13:48 |
yvl | there will be groups for each "class" | 13:48 |
yvl | like "12 b" | 13:48 |
yvl | that will have their related levels | 13:48 |
yvl | (both levels and groups live per-year) | 13:48 |
yvl | so, the sections will be created for every group and every course the group should learn | 13:49 |
yvl | (derived from courses for the level the group belongs to) | 13:49 |
yvl | so | 13:49 |
yvl | 12 level has, say, 3 courses: Math, Khmer and Chemistry | 13:49 |
yvl | "12 b" is a group that is related to 12 level | 13:50 |
yvl | sections get created for the three courses, all members of "12 b" are signed up | 13:50 |
aelkner | hmm | 13:51 |
aelkner | how are section created, meaning, are they still sections or some new proxy? | 13:52 |
yvl | still sections | 13:52 |
yvl | just created automatically | 13:52 |
yvl | users have NO control over sections | 13:52 |
aelkner | when | 13:52 |
aelkner | what event? | 13:53 |
yvl | when group is created for level | 13:53 |
yvl | e.g. "12 a", "12 b" | 13:53 |
yvl | also, when courses get modified in level, group sections will also be updated | 13:54 |
yvl | I will be writing the code that handles that | 13:54 |
aelkner | when the relationship is created? | 13:54 |
yvl | I think so | 13:54 |
yvl | but it doesn't matter that much | 13:54 |
yvl | expect to have code, that magically knows what max_score of a *section* is | 13:55 |
yvl | or a *course*, if you need that | 13:55 |
aelkner | of the section always better | 13:56 |
yvl | great, less problems for me ;) | 13:56 |
yvl | * fewer | 13:56 |
yvl | I'd even say, that given max_score | 13:56 |
yvl | a corresponding score system should be created / used | 13:56 |
yvl | 1..50 | 13:56 |
yvl | 1..150 | 13:56 |
yvl | we have discrete score systems, right? | 13:57 |
aelkner | yes | 13:57 |
yvl | great | 13:57 |
yvl | so if you eventually come up with a method | 13:58 |
aelkner | that's the idea | 13:58 |
yvl | something like setSectionMaxScore | 13:58 |
aelkner | i need a new subscriber | 13:58 |
aelkner | to section added event | 13:58 |
aelkner | to replace the one i already coded | 13:58 |
aelkner | can that be done at the cambodia level? | 13:58 |
yvl | yes, it should | 13:58 |
aelkner | how is that done syntatically? | 13:59 |
yvl | well, it will, it's not like you can do that within schooltool.cambodia.gradebook and have it affect the reset of ST ;) | 13:59 |
aelkner | in zcml i mean | 13:59 |
yvl | see schooltool.course.section.py | 14:00 |
yvl | RemoveSectionsWhenTermIsDeleted | 14:00 |
yvl | is same, just replace IObjectRemoved with IObjectAdded | 14:01 |
yvl | or IObjectModified | 14:01 |
aelkner | my problem is that i already have a subscriber and i need to override it | 14:01 |
aelkner | how do i do that? | 14:01 |
yvl | it's a subscriber | 14:01 |
yvl | you cannot override subscribers, sadly | 14:02 |
yvl | does it do something you do not want to happen? | 14:02 |
aelkner | it adds the reportsheets found in the term deployment to the section | 14:03 |
aelkner | now that i think about it | 14:03 |
aelkner | if i never add any report sheets to the term | 14:03 |
yvl | yes :) | 14:03 |
aelkner | then the base subscriber will do nothing | 14:04 |
yvl | phew, that was a close one ;) | 14:04 |
aelkner | :) | 14:04 |
aelkner | so i just need to use the max_score attribute | 14:04 |
aelkner | of the section that is being added | 14:04 |
aelkner | and my subscriber can create the report sheets it needs to | 14:04 |
yvl | in general, I would not suggest this, but...: | 14:05 |
aelkner | hehe | 14:05 |
yvl | if you have a helper method like setSectionMaxScore | 14:05 |
yvl | (and for now, call it from your subscriber: setSectionMaxScore(100)) | 14:06 |
yvl | and it would take care of the data integrity problems | 14:06 |
yvl | like registering score system when it encounters it for the first time | 14:06 |
yvl | (say, max_score=175 for the first time) | 14:06 |
yvl | and creating activities / worksheets / whatever else is needed | 14:07 |
yvl | and also modifying them in some sensible fashion if they exist | 14:07 |
yvl | it would be easy then to add the call to the method to other subscribers for me | 14:07 |
yvl | (possibly replacing the section subscriber, eventually) | 14:08 |
yvl | (say, when courses for the level are changed) | 14:08 |
yvl | (or group courses are modified for some reason) | 14:08 |
yvl | and the data would remain somewhat consistent | 14:09 |
yvl | and the best part is that neither you nor me wouldn't need to worry about that :) | 14:09 |
yvl | now that I think about it... | 14:10 |
yvl | eventually this helper should become a SectionScoreSystemChangedEvent subscriber | 14:10 |
yvl | but, well, one step at the time | 14:10 |
yvl | [and: CambodiaSectionScoreSystemChangedEvent would be even more precise name for that] | 14:11 |
yvl | what do you think? | 14:11 |
aelkner | confusion overtakes me :) | 14:11 |
aelkner | it may be that you're not exactly seeing the score system issue for what it is | 14:12 |
aelkner | actually, create report activities is easy to do | 14:12 |
aelkner | there is not need for a custom score system | 14:13 |
aelkner | RangedValuesScoreSystem handles any max score | 14:13 |
aelkner | so all that i do is create report activities with ranged score systems with the given max | 14:14 |
yvl | ah, so you can set the score system for the activity as RangedValuesScoreSystem, and then change tha max_value at will for that one single activity? | 14:14 |
aelkner | does it need to be any more complex than that? | 14:14 |
aelkner | yes | 14:14 |
yvl | oh, cool :) | 14:14 |
aelkner | ranged values score systems rock | 14:14 |
yvl | that's good news :)))) | 14:15 |
aelkner | actuall i lied when i agreed that it is a discreet score system | 14:15 |
aelkner | but a range is in itsown way discreet, n'est pas? | 14:16 |
yvl | yeah, I remember now :) | 14:16 |
yvl | sorry, my memory is really glitchy most of the time | 14:16 |
yvl | ok then, can you write the method: | 14:16 |
yvl | setSectionCambodianActivities(max_score) | 14:17 |
yvl | that adds, or modifies the four activities: | 14:17 |
yvl | 1st semester: 110 | 14:17 |
yvl | 2nd semester: 100 | 14:17 |
yvl | Final exam: 120 | 14:17 |
yvl | Final: 110 | 14:17 |
aelkner | adds | 14:17 |
yvl | Alan, can they please also modify? | 14:17 |
aelkner | modifies is verboten | 14:18 |
yvl | ouch | 14:18 |
aelkner | what do already entered scores mean in that case? | 14:18 |
aelkner | 15 of 20 | 14:18 |
aelkner | means what out of 25? | 14:18 |
yvl | 19? | 14:19 |
yvl | :) | 14:19 |
aelkner | :0 | 14:19 |
aelkner | i meant :) | 14:19 |
aelkner | but tom and i have been around this subject more than once | 14:19 |
yvl | well anyway | 14:19 |
yvl | adds for now | 14:19 |
yvl | well sort the rest of the problems later | 14:20 |
yvl | I may be over-cautious again | 14:20 |
yvl | to sum up, I'm good with adds; | 14:21 |
aelkner | ok, i can do that much for now | 14:21 |
yvl | for now hard-code the max_score to 100 | 14:21 |
yvl | for now use SectionAdded event | 14:21 |
aelkner | ok | 14:21 |
yvl | moving to the action buttons | 14:22 |
aelkner | i was just about to ask :) | 14:22 |
yvl | don't worry about them cluttering everything | 14:22 |
yvl | expect *all* buttons that you did not specify in schooltool.cambodia.gradebook.browser configure.zcml | 14:22 |
yvl | to just dissaper | 14:22 |
*** ignas has joined #schooltool | 14:23 | |
yvl | * disappear | 14:23 |
aelkner | ah, you'll take care of that yourself | 14:23 |
yvl | "really soon now" | 14:23 |
aelkner | cool | 14:23 |
aelkner | what about tests | 14:23 |
yvl | finally, for the tests | 14:23 |
yvl | :) | 14:24 |
aelkner | :) | 14:24 |
yvl | there's one failing functional test README.txt in cambodia/gradebook/ | 14:24 |
yvl | sorry, /cambodia/gradebook/browser | 14:24 |
yvl | and no unit tests set up | 14:24 |
aelkner | i could just add stuff there is what you're saying :) | 14:24 |
yvl | yes | 14:24 |
yvl | or you can add more .txt files there | 14:25 |
yvl | they should get picked up by the test collector | 14:25 |
yvl | I did not set up unit tests, but I can do that if you need it | 14:25 |
aelkner | i should test for the presence of the report sheets, right? | 14:25 |
aelkner | in functional tests, i mean | 14:25 |
aelkner | meaning | 14:25 |
aelkner | test that the subscriber works | 14:25 |
yvl | good enough for me now :) | 14:26 |
yvl | minimalistic copy-pasted "add schoolyear, term, course, section" test | 14:26 |
aelkner | i can use schooltool setupSchool method? | 14:26 |
yvl | then check if the gradebook page looks like what you want | 14:26 |
yvl | aelkner, for now - yes | 14:26 |
yvl | but that will break I think once the UI is cleaned up | 14:27 |
yvl | so don't spend much time on setting up date | 14:27 |
yvl | more on checking that the view looks like it should | 14:27 |
aelkner | i could add the section using browser.open rather than relying on naviagtion buttons | 14:27 |
yvl | (and ignoring the action buttons of course) | 14:27 |
yvl | again, good enough for me at this point | 14:28 |
yvl | it's prototyping, anyway | 14:28 |
aelkner | just like i do in schooltool.intervention security.txt | 14:28 |
aelkner | yes, prototyping | 14:28 |
aelkner | but in tests in general, there should be no reason not to use browser.open(some url) | 14:28 |
aelkner | after all, a hacker could | 14:28 |
yvl | well, regarding security, you have a valid point | 14:29 |
aelkner | i mean, it's important to thoroughly test security as a separate test | 14:29 |
yvl | other functional tests should show that user can actually *navigate* there | 14:29 |
aelkner | we should have a navigate.txt file for such things | 14:30 |
aelkner | perhaps | 14:30 |
yvl | umm, not necessary | 14:30 |
yvl | goal_management.txt; entering_grades.txt and something similar | 14:30 |
yvl | should use navigation, not browser.open | 14:31 |
aelkner | ah yes, to make sure the user experience is correct | 14:31 |
yvl | yes | 14:31 |
aelkner | fair enough | 14:31 |
aelkner | certainly in the case of my security.txt, that was not the case | 14:31 |
yvl | exactly | 14:32 |
aelkner | though one could argue that i should have tests for existence/absence of action button based on security access | 14:32 |
yvl | just using navigation in security.txt could leave holes | 14:32 |
yvl | additionally, you could do that | 14:33 |
yvl | for better user experience | 14:33 |
yvl | but when testing security | 14:33 |
yvl | you want to make sure that user will not get access to data by just guessing URL | 14:33 |
yvl | so, your test is really nice :) | 14:34 |
aelkner | that was the idea | 14:34 |
aelkner | but thanks | 14:34 |
aelkner | anyway, i would like to discuss jelkner's instance | 14:34 |
aelkner | it is relavent to the topic of security as a matter of fact :) | 14:35 |
yvl | okay | 14:35 |
aelkner | he has an issure, as i'm sure lehmann would, that an advisor is not allowed to look at a student | 14:35 |
aelkner | tom and i discussed this area at length | 14:35 |
aelkner | first of all, the index.html view of a student could have just name and id number and only be accessible for authenticated users | 14:36 |
aelkner | the list of courses would be personal info | 14:36 |
aelkner | so only teacher and advisors could see that list | 14:36 |
aelkner | then: | 14:37 |
aelkner | the section view should be available to all authenticated users | 14:37 |
aelkner | and that view would show only teachers, no students | 14:37 |
aelkner | if the users is te teacher, they see the members | 14:37 |
aelkner | advisors, no | 14:37 |
aelkner | anyway, this allows jelkner and his collogues to click on students | 14:38 |
aelkner | and get to their inteventions that way | 14:38 |
yvl | ok, so I got the problem right | 14:38 |
aelkner | but also, i will be coding a table into their dashboard for searching for students | 14:38 |
yvl | oh, there's more | 14:39 |
yvl | please go on... | 14:39 |
aelkner | no,you were rght to summarize | 14:39 |
yvl | aaah, I see why you need that table now | 14:40 |
yvl | you might even want to make it a separate view, btw | 14:40 |
aelkner | only adminstrators have access to the Manage tab | 14:40 |
aelkner | i can't see it as a separate view though | 14:41 |
aelkner | well, i shouldn't say that | 14:41 |
aelkner | i actually like the dashboard coming up as it is | 14:41 |
aelkner | serving as tom envisoned as a dashboard | 14:41 |
yvl | you see, the thing is that I think what the advisors need, is the way to search for the students they advise | 14:42 |
aelkner | only problem is, jelkner cnfirmed my suspision about how lehmann might react | 14:42 |
yvl | it just happend that the problem became obvious for interventions | 14:42 |
aelkner | how do i find a stdent? | 14:42 |
aelkner | ah | 14:42 |
aelkner | well, if schooltool had a view for students that the user dealt with (teach or advise) | 14:43 |
aelkner | then they could find the students there | 14:43 |
yvl | teachers can do that a bit indirectly | 14:43 |
yvl | via sections they teach | 14:43 |
yvl | and they have the list of those, right? | 14:43 |
aelkner | only thing is, remember that brother of mine | 14:43 |
aelkner | i always say that we share the idiot user gene | 14:44 |
aelkner | i had to appologize to him in suggesting to go the the section to find the student | 14:44 |
aelkner | he just figured, i click on the Intervention tab, then i find a student there | 14:45 |
yvl | yes, that would be a usability *enhancment* | 14:46 |
yvl | * enhancement | 14:46 |
yvl | (I'm really bad with spelling today) | 14:46 |
aelkner | we see this the same way | 14:46 |
aelkner | this could wait untit monday's meeting | 14:46 |
yvl | I agree :) | 14:47 |
aelkner | but i wanted to bring it up in preparation for solving this for him next week | 14:47 |
yvl | as for the real problem... looking at the student's home page... | 14:47 |
yvl | well, there's a reason why that is still broken :) | 14:47 |
aelkner | i'm all ears | 14:47 |
yvl | and the actual problem behind that is several years old, as far as I know | 14:48 |
yvl | the problem is, that we cannot *conveniently* specify different security rights for different parts of the object | 14:49 |
yvl | in this case- | 14:49 |
yvl | title, etc of the section | 14:49 |
yvl | the least invasive, but a bit hacky solution in this case | 14:49 |
yvl | would be use hasAccess to each section | 14:50 |
yvl | that you are trying to list in the home page | 14:50 |
aelkner | yeah, we would need to split up ISection | 14:50 |
yvl | in this case, sections you are not allowed to see will simply disappear | 14:50 |
yvl | that's one solution | 14:50 |
aelkner | and that would be a huge change | 14:50 |
yvl | and I'm not sure it's the best one :| | 14:50 |
yvl | and it's not like we dont need same "public" representation for other objects | 14:52 |
yvl | usually - title and description | 14:52 |
yvl | there are many ways how it can be solved | 14:52 |
yvl | but for now | 14:52 |
yvl | I would be happy with just checking hasAccess and not listing if it doesn't | 14:52 |
yvl | or, if Tom approves | 14:53 |
yvl | always display section titles | 14:53 |
yvl | but have links only to those you have access to | 14:53 |
yvl | well, we can ask Tom on Mon about this | 14:54 |
aelkner | basically | 14:58 |
aelkner | tom put it best on the phone as i had been thinking | 14:58 |
aelkner | we can use view access | 14:59 |
aelkner | rather than object access for some of these cases | 14:59 |
aelkner | i don't see why not | 14:59 |
yvl | well, to put it roughly | 15:00 |
yvl | what developers wanted to do | 15:01 |
yvl | is to say that users that are allowed to see the person's home page | 15:01 |
yvl | are allowed to know the existence of the sections person is in | 15:02 |
yvl | (and maybe later to split the access rights to the users who are allowed to see the sections list and users who are not) | 15:02 |
yvl | but the existing mechanism makes it hard to do so | 15:02 |
yvl | so, using the view access is actually a shortcut to go around non-existing functionality | 15:03 |
yvl | and I will so very much add it when the time comes :) | 15:03 |
yvl | speaking with Tom about stuff caused several revelations on my way home :) | 15:04 |
yvl | but getting back from the shiny future to the reality | 15:04 |
yvl | you have two "simple" solutions here: | 15:04 |
yvl | 1) use removeSecurityProxy when listing sections | 15:05 |
yvl | and leave the rest of the view pretty much the same | 15:05 |
yvl | 2) use removeSecurityProxy to obtain title of the section | 15:05 |
yvl | and use hasAccess to determine if the title should be displayed as a link | 15:06 |
yvl | the second one takes a little bit more work, but is also more pleasant for the user | 15:06 |
yvl | I recommend the second one | 15:06 |
aelkner | i had suggested as much to tom | 15:06 |
yvl | but it's not up to me to make the final call :) | 15:07 |
aelkner | span instead of link | 15:07 |
aelkner | i think tom will agree to it | 15:07 |
yvl | so... anything else on your mind? | 15:10 |
aelkner | should there be? :) | 15:11 |
yvl | depends ;) | 15:11 |
yvl | well then, I'm going back to coding now | 15:11 |
aelkner | please do | 15:12 |
yvl | happy coding too you too :) | 15:12 |
aelkner | thanks | 15:12 |
*** dlobo has joined #schooltool | 15:39 | |
*** th1a has joined #schooltool | 16:22 | |
th1a | hi yvl, aelkner. | 16:30 |
aelkner | hey th1a | 16:30 |
yvl | morning th1a | 16:31 |
th1a | Did you guys get the spreadsheet from Piseth Auk? | 16:32 |
yvl | yes, it is quite useful | 16:32 |
th1a | How are things coming? | 16:35 |
yvl | (I'm going to hard-code some levels as default for now) | 16:35 |
th1a | Oh, you're working on levels? | 16:36 |
yvl | yes | 16:36 |
th1a | btw, you guys might want to search for khmer in synaptic and install the relevant looking language files. | 16:36 |
yvl | did that the first time they submitted translations ;) | 16:37 |
th1a | kk | 16:37 |
yvl | SchoolTool looks quite nice in Khmer, by the way :) | 16:37 |
ignas | yvl, hmm, your per attribute security issue, a question - isn't it kind of solved using a view for title and description? | 16:37 |
ignas | yvl, better than Nepali? | 16:37 |
yvl | ignas, somehow I didn't think of comparing... Missed a lot of fun... | 16:39 |
yvl | as for security issue - yes, that is one of the nicer solutions | 16:39 |
ignas | the biggest downside I can recall is sorting by title | 16:40 |
ignas | and manipulating public information in code | 16:40 |
yvl | yeah | 16:40 |
yvl | those two | 16:40 |
ignas | I think that would be solvable using properties | 16:40 |
ignas | at least sometimes | 16:40 |
ignas | even if I dislike properties in Persistent objects | 16:41 |
yvl | the feel that there is something obvious about it is getting stronger and stronger | 16:41 |
yvl | especially after reading introduction to RDF and looking at relationship implementation | 16:41 |
yvl | it is kind of obvious what devs want to do, it is kind of obvious that it should be easy to describe that | 16:42 |
yvl | don't allocatable mindpower now :| | 16:42 |
yvl | (as usual) | 16:42 |
th1a | So... | 16:47 |
th1a | Where are we yvl? | 16:47 |
yvl | sorry, sort of wondered off | 16:47 |
yvl | well. | 16:47 |
yvl | not as far as I'd like us to be | 16:47 |
yvl | my status... | 16:48 |
yvl | well, I'm doing levels / grades | 16:49 |
yvl | 3/4 done on data structures | 16:49 |
yvl | have a list of TODOs how to do data integrity | 16:49 |
yvl | have an idea how Alan's, Dougla's and my work will be knit together | 16:50 |
yvl | so on Thursday... | 16:50 |
yvl | I'm at the point were I actually began implementing the thing | 16:51 |
yvl | chatted with Alan earlier today | 16:51 |
yvl | I think he is also at the state were the design issues are solved | 16:52 |
yvl | so there's not much to report | 16:53 |
th1a | aelkner? | 16:53 |
aelkner | i need yvl to deliver the section max score to me eventually | 16:54 |
aelkner | but for now i can create report sheets with 100 max scores | 16:54 |
th1a | No no no. | 16:54 |
th1a | Didn't we talk about just using credits? | 16:54 |
yvl | ? | 16:54 |
aelkner | credits are the max score i thought | 16:55 |
th1a | Yes. | 16:55 |
th1a | We already have those. | 16:55 |
th1a | We have credits. | 16:55 |
aelkner | we do? | 16:55 |
th1a | Yes! | 16:55 |
th1a | That was the point. | 16:55 |
aelkner | i'll look at the code | 16:55 |
th1a | You could also just look at SchoolTool. ;-) | 16:56 |
aelkner | i see that the course object has a credits attribute | 16:56 |
aelkner | i will have to assume that any new section will have one and only one course | 16:57 |
aelkner | so that i can use that course's credits to build the score system | 16:58 |
yvl | yes | 16:58 |
yvl | ok then | 16:58 |
th1a | Well, I guess technically you could iterate through courses to build the score sheet. | 16:58 |
th1a | That would be preferable to just taking [0] | 16:59 |
yvl | course-section will be 1-1 in cambodia case | 17:00 |
th1a | Yes... | 17:00 |
th1a | I'm just saying. | 17:00 |
th1a | It is probably just about as easy to make it a loop. | 17:00 |
yvl | I have hard time imagining how activities created by loop should look like | 17:01 |
yvl | 1st semester, 2nd semester, exam, final, 1st semester, 2nd semester, exam, final, ? | 17:02 |
yvl | in case of two courses? | 17:02 |
th1a | Sure. | 17:02 |
th1a | OK, just forget about it. | 17:02 |
yvl | sorry, th1a | 17:02 |
th1a | I'm not trying to overly complicate things. | 17:02 |
aelkner | so do i wait to add the report sheets on section add or not? | 17:03 |
yvl | I'm really grateful for your comments in that direction | 17:03 |
th1a | Why would you? | 17:03 |
yvl | aelkner, basically do what you were planning to do | 17:03 |
yvl | just instead of hard-coding score 100, use courses[0].credits | 17:04 |
aelkner | that's cool | 17:04 |
aelkner | is there only one term for the year? | 17:05 |
yvl | in the prototype, yes | 17:06 |
yvl | later on - who knows... | 17:06 |
*** alga has quit IRC | 17:07 | |
th1a | OK, here's a question... | 17:07 |
th1a | My assumption up to this point is that, say, "Mathematics 7" and "Mathematics 8" are separate courses at separate levels. | 17:08 |
yvl | yes | 17:09 |
th1a | Actually, it is not aquestion. | 17:09 |
yvl | :))))))) | 17:09 |
*** mgedmin has joined #schooltool | 17:09 | |
th1a | Unless you want to convince me it will be done otherwise in your new levels implementation. | 17:09 |
yvl | no, it will be Mathematics and Mathematics | 17:10 |
yvl | one linked to level 7, other to level 8 | 17:10 |
yvl | we can name them differently if we want to | 17:10 |
th1a | Well, if we do that then we have to dynamically add the level to the title frequently. | 17:11 |
th1a | Which often doesn't work well. ;-) | 17:13 |
yvl | I see your concerns :) | 17:13 |
th1a | I forsee "Mathematics 9 (9) -- 9" | 17:13 |
yvl | more likekly "Mathematics 9 (9) -- 9a" | 17:14 |
th1a | Yes. | 17:14 |
th1a | Anyhow, let people use whatever titles they want. | 17:14 |
yvl | sure | 17:14 |
th1a | I'm thinking we should give aelkner the job of creating all the standard courses. | 17:15 |
yvl | umm | 17:16 |
yvl | can I do that? | 17:16 |
yvl | it's not like it takes more than near-zero work... | 17:16 |
th1a | OK. | 17:16 |
yvl | and from Alan's point of view (err, gradebook's point of view) | 17:17 |
yvl | he will not see levels | 17:17 |
yvl | just sections with one cours | 17:17 |
yvl | e | 17:17 |
yvl | and course.credit set to some value for some reason | 17:17 |
th1a | I'm just trying to keep aelkner busy. | 17:18 |
th1a | Do we need to think of something else for him? | 17:18 |
yvl | well, thats for aelkner to decide, I guess | 17:18 |
yvl | aelkner, how many hours of coding you have untill tomorrow morning? | 17:19 |
yvl | say, 9 AM? | 17:19 |
aelkner | i would recommend thinking of something else for me to do after i've written the subscriprot | 17:19 |
aelkner | subscriber | 17:19 |
aelkner | a couple of hours left until i turn it in | 17:20 |
th1a | I guess laying out the report card. | 17:23 |
aelkner | first of all, which report sheets am i to deploy? | 17:25 |
th1a | ? | 17:25 |
aelkner | just one per section? | 17:25 |
aelkner | i thought you said something about mid term, final exam? | 17:26 |
th1a | What else would you do? | 17:26 |
aelkner | i don't know why i think i remember you saying something like that | 17:26 |
th1a | - First semester grade. | 17:26 |
th1a | - Second semester grade | 17:26 |
th1a | - Final exam grade | 17:26 |
th1a | - Final grade | 17:26 |
aelkner | that was it | 17:26 |
aelkner | so four report activities | 17:26 |
aelkner | ok, so one sheet | 17:27 |
aelkner | that was your confusion | 17:27 |
aelkner | i asked the wrong question | 17:27 |
yvl | by the way, aelkner, did you clean up the gradebook views? | 17:29 |
yvl | or maybe there was no need for that? | 17:29 |
yvl | I'll kill the action buttons | 17:29 |
yvl | but worksheets and stuff like that should be completely removed | 17:29 |
yvl | from the pages itself | 17:29 |
aelkner | all the action buttons need to go | 17:30 |
aelkner | oh, you mean the worksheet tabs in the gradebook? | 17:30 |
yvl | yes | 17:30 |
aelkner | those can stay becuase there will only be one | 17:30 |
th1a | Yes, leave them. | 17:30 |
aelkner | there isn't anything that needs to change in the gradebook view itself | 17:31 |
aelkner | just the action buttons need to go, and the report sheets need to be auto-deployed | 17:31 |
aelkner | th1a: as for the report card layout | 17:31 |
aelkner | is there a need for one? | 17:31 |
aelkner | if we are going to be making a custom report card pdf view for them | 17:32 |
aelkner | we don't need to worry about layouts | 17:32 |
th1a | Right. | 17:32 |
aelkner | btw, that's the other work i can do, the report card | 17:32 |
th1a | Yes. | 17:32 |
yvl | by the way, they mentioned printable rosters. | 17:33 |
aelkner | so, if all courses that the student attends have the same report sheets | 17:33 |
aelkner | then i can just use them for the first four columns | 17:33 |
th1a | Yes. | 17:33 |
th1a | Just do that for starters. | 17:33 |
aelkner | then the question of a fifth column with a final calculation comes up | 17:33 |
th1a | Well, the fourth column is the final grade. | 17:34 |
aelkner | yes | 17:34 |
th1a | We'll wait to see if we're supposed to be calculating it automatically. | 17:34 |
aelkner | ok | 17:34 |
*** dlobo has quit IRC | 17:34 | |
th1a | We can only extract a few bits of information a day. ;-) | 17:35 |
*** dlobo has joined #schooltool | 17:35 | |
*** dlobo has quit IRC | 17:35 | |
aelkner | yes | 17:35 |
th1a | Let's at least try to have some screenshots by the end of the day to send to Javier. | 17:35 |
th1a | End of Friday. | 17:36 |
th1a | Or at least a cogent report. | 17:36 |
aelkner | sure | 17:36 |
yvl | screenshots... good idea. | 17:36 |
yvl | allright then | 17:37 |
yvl | do you need me this evening? | 17:37 |
th1a | I don't. | 17:37 |
yvl | always good to know... | 17:37 |
yvl | ;) | 17:37 |
*** Lumiere has quit IRC | 17:38 | |
*** Lumiere has joined #schooltool | 17:38 | |
Lumiere | selenium ftw (hi guys) | 17:38 |
th1a | Hi Lumiere. | 17:38 |
th1a | Lumiere: Who should I be nagging and/or paying to write up documentation on running multiple ST instances? | 17:38 |
Lumiere | th1a: manually or from a packaged install | 17:39 |
th1a | From packages. | 17:39 |
th1a | Probably. | 17:39 |
Lumiere | your packager? :) | 17:40 |
th1a | So you guys didn't use the packages when you did it? | 17:40 |
Lumiere | seriously... menesis should drop me an email and try and find a time to talk | 17:40 |
Lumiere | no | 17:40 |
Lumiere | cando was not packaged at all in 2008-09 | 17:40 |
Lumiere | but the structure should be similar | 17:41 |
th1a | OK. I'll try to coordinate that when menesis is back from his honeymoon. | 17:41 |
Lumiere | the idea of how I did it should work | 17:41 |
Lumiere | but there will need to be some helper commands with the packages | 17:41 |
th1a | Need to be or ought to be? | 17:42 |
Lumiere | need | 17:42 |
Lumiere | I don't thnik we provide make-schooltool-instance in a sane way | 17:42 |
Lumiere | I manually made all the instances... the package should have an schooltool-create-instance 'name' | 17:42 |
Lumiere | that creates it in /var/.../schooltool | 17:43 |
Lumiere | and a schooltool-enable-instance and disable-instance | 17:43 |
Lumiere | that maintains the list of instances to start/stop at boot | 17:43 |
th1a | OK. | 17:43 |
Lumiere | create instance will also need to know ports etc | 17:43 |
th1a | Do we have instructions anywhere for doing this from eggs? | 17:43 |
Lumiere | not really | 17:44 |
Lumiere | I had scripts written for cando last year that I can dig up (when I am not running around at work) | 17:44 |
Lumiere | but they were 1 off for the configuration at cteresource | 17:44 |
Lumiere | there are a lot of little details to cover when doing multiple instances | 17:45 |
Lumiere | also you need 200-400 mb of memory per instance | 17:45 |
Lumiere | for database information (by the end of the year) | 17:45 |
th1a | OK. | 17:45 |
th1a | I'll try to get you and menesis together to just take care of it once and for all. | 17:46 |
Lumiere | the long term solution is finding a way to create schools inside of 1 instance of schooltool :) | 17:46 |
th1a | That too | 17:46 |
Lumiere | it will likely have to be a weekend... I work 9-5 now and don't really have time to do a lot of chatting | 17:47 |
yvl | goodbye guys. If you see replaceafill tell him I said hello :) | 17:47 |
th1a | Lumiere, OK... I'll pay you to do it. | 17:48 |
* yvl runs off to a friend's birthday... | 17:48 | |
* th1a runs off to pick up Vivian. | 17:48 | |
*** davidng has joined #schooltool | 18:35 | |
*** davidng has left #schooltool | 18:38 | |
*** mgedmin has quit IRC | 18:40 | |
*** Aiste has quit IRC | 18:41 | |
*** davidng_ has joined #schooltool | 18:45 | |
*** dlobo has joined #schooltool | 18:47 | |
*** davidng_ has quit IRC | 18:52 | |
*** dlobo has quit IRC | 19:11 | |
*** dlobo has joined #schooltool | 19:12 | |
*** dlobo has quit IRC | 19:45 | |
*** pcardune has joined #schooltool | 19:53 | |
*** jelkner has joined #schooltool | 20:16 | |
*** dlobo has joined #schooltool | 20:25 | |
*** ignas has quit IRC | 20:25 | |
*** menesis has joined #schooltool | 20:42 | |
*** pcardune has quit IRC | 20:42 | |
*** lisppaste5 has quit IRC | 20:52 | |
*** menesis has quit IRC | 20:58 | |
*** pcardune has joined #schooltool | 21:44 | |
*** jelkner has quit IRC | 22:02 | |
*** alga has joined #schooltool | 22:45 | |
*** ignas has joined #schooltool | 22:45 | |
*** pcardune_ has joined #schooltool | 23:17 | |
*** pcardune has quit IRC | 23:19 | |
*** pcardune_ is now known as pcardune | 23:19 | |
*** dlobo has quit IRC | 23:24 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!