*** aks has joined #schooltool | 05:59 | |
*** aks has joined #schooltool | 05:59 | |
*** aks has quit IRC | 07:23 | |
*** aks has joined #schooltool | 07:27 | |
*** aks has joined #schooltool | 07:27 | |
*** yvl has joined #schooltool | 09:40 | |
*** aks has quit IRC | 09:48 | |
*** aks has joined #schooltool | 10:23 | |
*** aks has quit IRC | 10:23 | |
*** aks has joined #schooltool | 10:23 | |
*** menesis has joined #schooltool | 13:51 | |
*** menesis has quit IRC | 14:01 | |
*** menesis has joined #schooltool | 14:05 | |
*** menesis has quit IRC | 14:06 | |
*** menesis has joined #schooltool | 14:07 | |
*** menesis has quit IRC | 14:07 | |
*** menesis has joined #schooltool | 14:08 | |
*** menesis has quit IRC | 14:10 | |
*** menesis has joined #schooltool | 14:19 | |
*** aks has quit IRC | 14:19 | |
*** menesis has quit IRC | 14:22 | |
*** menesis has joined #schooltool | 14:26 | |
*** menesis has left #schooltool | 14:26 | |
*** menesis has joined #schooltool | 14:30 | |
*** menesis has quit IRC | 14:34 | |
*** menesis has joined #schooltool | 14:38 | |
*** ignas has joined #schooltool | 15:43 | |
*** th1a has joined #schooltool | 15:51 | |
*** replaceafill has joined #schooltool | 15:52 | |
th1a | hi yvl. | 16:00 |
---|---|---|
yvl | hi th1a | 16:05 |
yvl | got carried away here | 16:05 |
yvl | gimme 3 mins | 16:05 |
th1a | np | 16:05 |
yvl | ok | 16:11 |
yvl | thanks | 16:11 |
yvl | so... I'm not sure how to do a proper debriefing | 16:12 |
th1a | Oh, me neither. | 16:12 |
th1a | How'd it go? | 16:12 |
th1a | :-D | 16:12 |
yvl | ok | 16:14 |
yvl | :) | 16:14 |
yvl | Helder summed it up quite well | 16:14 |
yvl | in his email | 16:15 |
th1a | What's the situation with their patches now? | 16:16 |
th1a | Are they able to get more into a separate egg? | 16:16 |
yvl | at the moment, patches are not applied | 16:17 |
yvl | they wouldn't do anything anyway | 16:17 |
th1a | OK, so at what point are they now? | 16:18 |
th1a | How long does it seem like it will take to get 2.1 ready and pushed? | 16:18 |
yvl | we created an egg that works as an app (i.e. with custom skin inherited from flourish) that handles edgebox authorization | 16:18 |
yvl | th1a, you should really ask Helder these type of questions | 16:19 |
yvl | it all was pretty techy | 16:19 |
th1a | Yes, but, are they still pretty early in the process? | 16:19 |
yvl | depends on what "the process" is and what "early" is | 16:20 |
* th1a sighs. | 16:20 | |
yvl | one might say... yes? | 16:20 |
yvl | they have a lot of resources th1a, and good resources | 16:20 |
yvl | and AFAIR they have the skills to shorten the dev process by pulling more resources if needed | 16:21 |
yvl | so they already packaged the dependencies, which is a (big) chunk of work | 16:22 |
yvl | they made ST running | 16:22 |
yvl | we have an egg with example customizations that demonstrates auth (SSO) with edgebox | 16:22 |
yvl | they haven't started porting the patches, but most of the patches won't be needed anymore | 16:23 |
yvl | since you did a good job with UI | 16:23 |
th1a | kk | 16:23 |
yvl | ST upgrade may be driving this release of education appliance | 16:24 |
yvl | or maybe there will be other things, that depends on how things progress on their side | 16:24 |
yvl | they also plan to add more reports | 16:25 |
yvl | and either provide us with definition what they want | 16:26 |
yvl | or implement the actual reports and submit the changes to us | 16:26 |
th1a | Ah, ok. | 16:27 |
th1a | We should probably let them know about the impending report styles. | 16:27 |
th1a | And send them that guide. | 16:27 |
yvl | which guide? | 16:27 |
th1a | Well, the final draft should be done today(ish). | 16:28 |
yvl | ah :D | 16:28 |
yvl | I thought I missed something | 16:28 |
yvl | umm, what else... | 16:28 |
th1a | The report style guide. Did you see an earlier draft of it? | 16:28 |
yvl | no | 16:28 |
yvl | some of our UI quirks are a blocker for them | 16:28 |
replaceafill | http://www.schwadesign.com/basecamp/2591274/2682003phase12/SchoolTool_guidelines3.pdf | 16:28 |
replaceafill | :) | 16:28 |
replaceafill | sorry for interrupting | 16:29 |
th1a | replaceafill beat me to it. | 16:29 |
yvl | np, thanks man | 16:29 |
yvl | like - the relationship views | 16:29 |
yvl | like - that redirect to the login | 16:29 |
yvl | such things are a WTF in this century ;) | 16:29 |
yvl | (they were polite enough not to call it this way) | 16:30 |
th1a | Well, I guess I've never had a sense of what the right way to do the access denied thing. | 16:30 |
yvl | but the good thing is that they're going to go through everything with their UI guy | 16:30 |
th1a | That's definitely something where I just need to be told what to do. | 16:31 |
yvl | so they may have some suggestions | 16:31 |
th1a | Well, it is good that we have it down to a discrete screwed up things rather than a screwed up application. ;-) | 16:32 |
aelkner_ | morning guys | 16:32 |
yvl | I couldn't agree more | 16:32 |
th1a | On that note... hi replaceafill, aelkner_, menesis. | 16:32 |
replaceafill | good morning/afternoon | 16:33 |
th1a | OK replaceafill, would you like to start? | 16:34 |
replaceafill | sure | 16:34 |
replaceafill | i have a few questions for today :) | 16:34 |
replaceafill | ok | 16:34 |
menesis | hi | 16:34 |
replaceafill | yvl, remember when i was trying to do the tabs ajaxy in the gradebook | 16:34 |
replaceafill | but i had a problem with the sidebar | 16:34 |
replaceafill | and you recommended to "update" the sidebar too | 16:35 |
replaceafill | so, i did that | 16:35 |
yvl | wow :) | 16:35 |
replaceafill | could you log in: | 16:35 |
replaceafill | as teacher001 | 16:35 |
replaceafill | http://69.164.203.135:6666/schoolyears/2010-2011/2010-fall/sections/math_a_2010-fall_teacher001_000/activities/Sheet2/gradebook | 16:35 |
replaceafill | it's still broken, but the tabs "work" :) | 16:35 |
replaceafill | if you for example go to the Deployed tab | 16:35 |
replaceafill | the sidebar gets updated | 16:35 |
replaceafill | or Sheet3, etc | 16:35 |
replaceafill | i still have to create a new view for all of this | 16:36 |
replaceafill | i actually did, but it's not in this version | 16:36 |
replaceafill | :) | 16:36 |
replaceafill | so, my problem at this point | 16:36 |
replaceafill | the Reports section | 16:36 |
replaceafill | the viewlet manager for reports uses javascript | 16:36 |
replaceafill | specifically the ST.local object | 16:36 |
th1a | replaceafill, Is that instance up? | 16:37 |
replaceafill | th1a, hhmm yes | 16:37 |
th1a | Or, oh, it is the ERR_UNSAFE_PORT on chromium. | 16:37 |
replaceafill | th1a, ah crap, maybe it's the port | 16:37 |
replaceafill | :( | 16:37 |
replaceafill | sorry about that | 16:37 |
th1a | It is Satan's port. | 16:37 |
replaceafill | :)) | 16:37 |
replaceafill | so, if you go to another tab after loading the page | 16:38 |
replaceafill | and you click "Gradebook Export" | 16:38 |
replaceafill | instead of getting the dialog | 16:38 |
replaceafill | you get the html for the dialog | 16:38 |
replaceafill | because the two links in the Reports section have not been modified with JS | 16:38 |
replaceafill | btw, i'm inserting the sidebar using a plain: | 16:39 |
replaceafill | <tal:block content="view/providers/page_sidebar" /> | 16:39 |
replaceafill | i'm not sure if i'm clear enough | 16:39 |
yvl | can you point me to the code whre you do replace the sidebar? | 16:40 |
yvl | because it should execute the proper JS | 16:40 |
yvl | unless we do it with document.ready :D | 16:40 |
replaceafill | ah ok, let me paste the diff | 16:40 |
yvl | then it probably does not bind :D | 16:40 |
replaceafill | http://pastebin.com/bM4Lhzc7 | 16:41 |
replaceafill | line 91 | 16:41 |
replaceafill | sorry i haven't pushed this to my branch, but it's just an experiment :) | 16:41 |
replaceafill | and http://pastebin.com/uD1CNEYb | 16:42 |
replaceafill | line 156 | 16:42 |
replaceafill | for the viewlet | 16:42 |
yvl | hmm, I think the document.ready thing is the problem | 16:44 |
replaceafill | hhmm i see | 16:45 |
yvl | we should use some different event for execute-script-once-dom-is-changed | 16:45 |
yvl | jquery has something I think | 16:45 |
yvl | or maybe we can use some manual event | 16:45 |
replaceafill | .on()? | 16:45 |
yvl | yes :D | 16:45 |
yvl | maybe | 16:45 |
yvl | need to check | 16:45 |
yvl | but probably yes | 16:46 |
replaceafill | ok, i'll try to clean it too, maybe i find the problem then | 16:46 |
replaceafill | i'll use .on() | 16:46 |
replaceafill | ok, thanks | 16:46 |
replaceafill | second question | 16:46 |
yvl | kk | 16:46 |
replaceafill | let me get the line | 16:46 |
replaceafill | since i'm changing stuff and i dont want to break functionality | 16:47 |
replaceafill | i started adding stests for the gradebook | 16:47 |
replaceafill | for the popups specifically | 16:47 |
replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool.gradebook/flourish/revision/487 | 16:47 |
replaceafill | see line 220 | 16:47 |
replaceafill | the journal is getting included in the test | 16:48 |
replaceafill | even though the layer setup (stesting.zcml) doesn't include it explicitly | 16:48 |
yvl | right | 16:49 |
replaceafill | it's the check for journal_present in the gradebook | 16:49 |
replaceafill | code | 16:49 |
yvl | it's probably including something that includes autoinclude | 16:49 |
yvl | oh | 16:50 |
replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool.gradebook/flourish/view/head:/src/schooltool/gradebook/browser/gradebook.py#L839 | 16:50 |
replaceafill | i was blaming that ^ | 16:50 |
yvl | shit | 16:50 |
yvl | I think it's the zcml condition | 16:50 |
yvl | "have schooltool.lyceum.journal" | 16:50 |
yvl | I think that was an oopsy on my part | 16:51 |
replaceafill | :) | 16:51 |
yvl | instead of proper "provide feature" "has feature" | 16:51 |
replaceafill | ah | 16:51 |
yvl | I suggested using "have module" instead | 16:51 |
replaceafill | ok, no biggie though | 16:52 |
replaceafill | just have to be aware of that in stests ;) | 16:52 |
yvl | could you fix that please? | 16:52 |
yvl | since you're at it anyway | 16:52 |
replaceafill | sure | 16:52 |
yvl | thanks man | 16:52 |
replaceafill | np | 16:52 |
* replaceafill checks his notes | 16:52 | |
replaceafill | ah yes | 16:53 |
replaceafill | i worked a little on this one: | 16:53 |
yvl | btw, awesome work so far replaceafill | 16:53 |
replaceafill | https://bugs.launchpad.net/schooltool/+bug/997267 | 16:53 |
replaceafill | yvl, :D | 16:53 |
replaceafill | i found the cause for the bug, i'm going to fix it in my branch too | 16:53 |
replaceafill | so i'll take that one | 16:53 |
replaceafill | yvl, last question | 16:54 |
replaceafill | fromPublication | 16:54 |
replaceafill | i can use that to "detect" when the vielwet has been rendered like in the whole page, correct? | 16:54 |
yvl | that's the purpose | 16:54 |
replaceafill | ah cool! that really helps on ajax calls :D | 16:54 |
replaceafill | and i finally understood the wrapper logic in table ;) | 16:55 |
yvl | wow :) | 16:55 |
yvl | congratulations :D | 16:55 |
replaceafill | i mean, templates | 16:55 |
replaceafill | :/ | 16:55 |
yvl | one can break a leg there :D | 16:55 |
replaceafill | :D | 16:55 |
replaceafill | ok, i just wanted to confirm that | 16:55 |
yvl | we really should have just rewritten table formatters | 16:55 |
yvl | wrapping them was a long - but fun - process :) | 16:56 |
replaceafill | finally, i started with the report styles | 16:56 |
replaceafill | i haven't gotten too far though | 16:56 |
replaceafill | i did check aelkner_'s work on niepa | 16:56 |
replaceafill | to rotate the text | 16:56 |
replaceafill | using plugins | 16:57 |
replaceafill | i was expecting to have something simpler for us, like: | 16:57 |
replaceafill | <td rotate="45">...</td> | 16:57 |
th1a | lol | 16:57 |
replaceafill | but i still don't know if that's possible | 16:57 |
aelkner_ | wouldn't it be nice | 16:57 |
replaceafill | same for row backgrounds | 16:57 |
yvl | oh yes it would :) | 16:58 |
replaceafill | something like css classes | 16:58 |
replaceafill | <td class="odd"> | 16:58 |
yvl | well, it *is* open source, so... ;))) | 16:58 |
replaceafill | but it seems really hard to get :( | 16:58 |
replaceafill | at least at first glance | 16:58 |
replaceafill | because all the calculation you have to do to get a stinky blockspan | 16:58 |
replaceafill | but i'll keep looking | 16:59 |
replaceafill | th1a, i hope to have an example for wednesday on the reports | 16:59 |
yvl | it is still a big improvement over using plain flowables in python | 16:59 |
replaceafill | yvl, definitely! | 16:59 |
th1a | We can come back to text rotation later. | 17:00 |
replaceafill | yes | 17:00 |
replaceafill | i'm working on the table styles | 17:01 |
th1a | OK. | 17:01 |
replaceafill | at the moment | 17:01 |
* replaceafill done | 17:01 | |
th1a | Thanks replaceafill. | 17:02 |
th1a | aelkner_? | 17:02 |
aelkner_ | i thought my email to the developer's list would serve as my report | 17:02 |
aelkner_ | did everyone see it? | 17:02 |
yvl | YES | 17:03 |
yvl | whops | 17:03 |
yvl | caps lock :D | 17:03 |
yvl | sorry | 17:03 |
aelkner_ | NP :) | 17:03 |
yvl | ;) | 17:03 |
yvl | it looks you made good progress | 17:04 |
* yvl just wonders why you want to make a document object | 17:04 | |
aelkner_ | th1a also sent a note on the subject, did you see it? | 17:04 |
yvl | no | 17:04 |
aelkner_ | oh, i was assuming you did when i wrote mine, i was kinda leveraging on it | 17:05 |
th1a | Soup and Documents is the title. | 17:05 |
yvl | oh, that | 17:06 |
yvl | yes | 17:06 |
yvl | so the thing I do not understand, is what makes document object so special | 17:07 |
yvl | if we created a layer "Document" | 17:07 |
yvl | automatically | 17:07 |
th1a | It is primarily that it is the way users understand the entire process. | 17:07 |
yvl | let me finish | 17:07 |
yvl | if we created a layer "Document" | 17:07 |
yvl | automatically | 17:07 |
yvl | and made sure it is always (again, automatically) the grandparent when creating layers from UI | 17:08 |
yvl | the user, when going to node creation | 17:08 |
yvl | (it's called Document Model or something similar now) | 17:08 |
yvl | would always see | 17:08 |
yvl | Add | 17:08 |
yvl | ---- | 17:08 |
yvl | Document | 17:08 |
yvl | would that make sense? | 17:09 |
th1a | Basically, yes. | 17:09 |
yvl | kk | 17:09 |
th1a | It would also be nice to have some extra meta-data for it. | 17:09 |
yvl | like? | 17:09 |
aelkner_ | i think you're saying that the Document layer could be used as the document, right? | 17:09 |
th1a | Author, date. | 17:09 |
yvl | well, the Document *node* | 17:09 |
th1a | (author being the organization creating it) | 17:09 |
th1a | Version #. | 17:10 |
yvl | ATM it should be doable by updating title/description | 17:10 |
yvl | but true, metadata would be nice | 17:11 |
th1a | We could get by without it for now. | 17:11 |
yvl | right | 17:11 |
th1a | Since it won't really DO anything anyhow. | 17:11 |
yvl | but I can see uses for those | 17:11 |
yvl | also, "demographics" for nodes could make sense | 17:11 |
aelkner_ | ok, but let's talk about the document node for a second | 17:12 |
yvl | ok | 17:12 |
yvl | sure | 17:12 |
aelkner_ | what you are saying is that ui allows the user to create a document (what they see themselves as doing) | 17:12 |
aelkner_ | but we, in reality, would create a node | 17:12 |
aelkner_ | and that node would have the layer, 'Document'? | 17:12 |
aelkner_ | actually, i don't even know if i asked that right | 17:13 |
aelkner_ | what i'm really asking is, how does the user tell us what the layers are for the document | 17:14 |
yvl | well | 17:14 |
yvl | when user goes to create the layers ttw | 17:15 |
yvl | we silently check if there is a "Document" layer | 17:15 |
yvl | if there is one | 17:15 |
yvl | we assign it as parent of the top layer the user entered | 17:15 |
yvl | if it's not created there, we create it and then assign the top parent | 17:16 |
yvl | we can actually even be very nice | 17:16 |
th1a | Oh... | 17:16 |
yvl | and if layer with __name__ == 'document' is not created | 17:16 |
th1a | the other reason we need the document is to know what to call skills and skillsets. | 17:16 |
yvl | we can put a text line, so that user could translate the word "Document" in his own language | 17:16 |
yvl | just put that as extra on the bottom node | 17:17 |
yvl | nodes :) | 17:17 |
yvl | wait | 17:17 |
yvl | bottom layer | 17:17 |
yvl | sorry for confusion | 17:18 |
* yvl done | 17:19 | |
yvl | *kchhh* over *kchhh* :) | 17:19 |
aelkner_ | what does that mean? | 17:20 |
aelkner_ | kch...? | 17:20 |
th1a | I think it would be helpful for the document to know its constituent layers and the desired names for skillset and skill. | 17:20 |
th1a | (sound effect, aelkner_) | 17:21 |
aelkner_ | like a cash register? | 17:21 |
yvl | like radio | 17:21 |
yvl | hand radio | 17:21 |
yvl | th1a, ok | 17:21 |
yvl | frankly, I don't care where you put it | 17:21 |
yvl | and thinking about it... yes, we can create a special node called Document | 17:22 |
yvl | like | 17:22 |
yvl | class Document(Node) | 17:22 |
yvl | if you want | 17:22 |
aelkner_ | i was already thing just that | 17:22 |
th1a | I didn't want to say subclass. ;-) | 17:22 |
aelkner_ | that Document would subclass node | 17:23 |
aelkner_ | so that the first level of nodes, Courses in the case of the demo, would have it as parent | 17:23 |
aelkner_ | right now, in the demo, they are all orphaned | 17:23 |
aelkner_ | but | 17:24 |
aelkner_ | nodes are all over the place, having various levels | 17:24 |
aelkner_ | but the user shouldn't have to think about them | 17:24 |
aelkner_ | only the documents | 17:24 |
aelkner_ | so we would need to have a way for the user to find them | 17:24 |
th1a | Well, it is just a Documents view. | 17:25 |
aelkner_ | also, if the Document object subclasses Node, where does it live? | 17:25 |
aelkner_ | in the NodesContainer? | 17:25 |
aelkner_ | or do we create a DocumentsContainer? | 17:25 |
th1a | aelkner_: You and I can talk about how the Document ui should work. | 17:25 |
yvl | in the NodesContainer | 17:25 |
th1a | Can we talk about moving things out of years? | 17:25 |
aelkner_ | sre | 17:25 |
yvl | let's just move them out of years | 17:26 |
aelkner_ | we can all agree on doing that, and luckily we don't have to write evolution | 17:27 |
aelkner_ | because we don't have any beta testers yet | 17:27 |
yvl | right | 17:27 |
aelkner_ | only thing is, how does the year know what document to use? | 17:28 |
aelkner_ | i mean, as i suggested in my note, when the user is assigning skillsets to courses | 17:28 |
aelkner_ | how do we know what document to use to serve them up the choices? | 17:29 |
th1a | There could be multiple documents per year anyhow. | 17:29 |
aelkner_ | how would that work? | 17:30 |
th1a | They'll just have to choose. | 17:30 |
yvl | I think either we serve all, either we implement hiding, either we implement fake "deployment" to years | 17:30 |
aelkner_ | oh, ok, at the root level of the choice process, they would see the multiple documents | 17:30 |
yvl | it's really up to th1a or a coin flip at this point | 17:30 |
th1a | Just choosing from a menu of some sort is fine. | 17:31 |
th1a | Typically a regular school will have different standards documents for different subjects. | 17:31 |
th1a | So I guess in the long run we'll do it that way. | 17:31 |
th1a | Once we have subjects... | 17:31 |
yvl | oh, /me remembered one thing I'd like to put on the table before the end of the meeting | 17:33 |
yvl | </interruption> | 17:33 |
yvl | please continue | 17:34 |
aelkner_ | ok, so, we have decided that no new Document object is really needed, just a document layer | 17:34 |
aelkner_ | and any number of nodes for that layer | 17:34 |
aelkner_ | each of which would be its own document | 17:34 |
aelkner_ | actually, no | 17:35 |
th1a | Uh... | 17:35 |
aelkner_ | i'm still confused about something | 17:35 |
aelkner_ | we have theses layers | 17:35 |
th1a | Are'nt we making a document subclass? | 17:35 |
aelkner_ | and they are capable of having parents | 17:35 |
aelkner_ | but there are any number of paths through the layers | 17:35 |
aelkner_ | so, for instance, in the case of the demo | 17:35 |
aelkner_ | course layer has child, competency group | 17:36 |
aelkner_ | the fact that it has no parent is problematic presently, but we could make the parent | 17:36 |
aelkner_ | be the document layer | 17:36 |
aelkner_ | so the document layer could be our root layer | 17:37 |
aelkner_ | and each of its children would represent a pathway though | 17:37 |
aelkner_ | for instance: | 17:37 |
aelkner_ | document -> | 17:37 |
aelkner_ | Course -> | 17:37 |
aelkner_ | Competency Group | 17:37 |
aelkner_ | Something other path | 17:38 |
aelkner_ | and its child | 17:38 |
yvl | well yes, the example will have to be remade | 17:38 |
aelkner_ | so Course and Some other path would be the two document types | 17:38 |
yvl | each document node is like a version of the document | 17:38 |
yvl | you can make titles like | 17:38 |
yvl | "Standards" | 17:38 |
yvl | "Standards v1.2" | 17:38 |
yvl | "Standards 2012" | 17:38 |
yvl | and so on | 17:38 |
yvl | so the layer is called "Document" | 17:39 |
yvl | and it's nodes will be actual documents | 17:39 |
th1a | Yes. | 17:40 |
th1a | Documents define a set of nodes in a stricter structure than is required by the data model in general. | 17:41 |
yvl | well, no | 17:41 |
yvl | the UI defines that | 17:41 |
yvl | to be precise | 17:41 |
th1a | Well, the importer will have to as well, soonish. | 17:41 |
yvl | ? | 17:41 |
th1a | You'll have to be able to import a document. | 17:42 |
yvl | you can now | 17:42 |
th1a | It should be easy enough to force it to be a tree. | 17:42 |
yvl | if the importer works, you can import a document now | 17:42 |
th1a | Well, what I'M saying is that a document has to have a more limited data model, that's the point. | 17:43 |
yvl | so... you want several importer formats? | 17:43 |
yvl | well anyway | 17:43 |
yvl | it's not my place to ask | 17:44 |
th1a | I don't want that per se but it might be necessary. | 17:44 |
th1a | Also, it might be what 95% of our users would prefer anyhow. | 17:44 |
th1a | Again, the CTE case is extreme it its complexity. | 17:44 |
th1a | Not necessarily the best for everyone else. | 17:44 |
th1a | But I haven't thought about the importer format at all yet. | 17:45 |
aelkner_ | we can deal with that when the time comes | 17:46 |
aelkner_ | i'm not worried about special imports yet | 17:46 |
aelkner_ | better that we are sure about the data model and how we are using it first | 17:46 |
th1a | I'm sure we'll come up with something. | 17:46 |
th1a | aelkner_: The most important thing is to think of this from the point of view of the school secretary sitting in front of their computer holding a book full of standards. | 17:47 |
th1a | How are they going to type this shit in? | 17:47 |
aelkner_ | either ttw or via import, right? | 17:47 |
aelkner_ | which one are you asking about? | 17:48 |
th1a | TYPING. | 17:48 |
aelkner_ | ok, ttw, then | 17:48 |
th1a | And if you say the word "node" or "layer" their brain will explode. | 17:49 |
aelkner_ | right | 17:49 |
aelkner_ | sorry, i need a five minute break, can we continue in 5? | 17:49 |
th1a | Actually, how about after lunch. | 17:50 |
aelkner_ | ok, but i still am not sure what yvl meant with the layers, so i'll need to ask | 17:50 |
aelkner_ | back in 5 | 17:50 |
th1a | yvl: What are your plans for this week? | 17:51 |
yvl | for the rest of the week... | 17:51 |
yvl | to look at IRC logs, find what you asked me to start working on | 17:51 |
yvl | and start working on it :) | 17:52 |
th1a | lol | 17:52 |
th1a | Score history. | 17:52 |
th1a | That's it. | 17:52 |
yvl | how much of that you want me to implement? | 17:52 |
yvl | data model | 17:52 |
yvl | or some UI too? | 17:52 |
yvl | and if yes, how much? :) | 17:52 |
th1a | The UI pretty quickly overlaps with the gradebook. | 17:53 |
th1a | That is, there shouldn't be much UI outside that. | 17:53 |
th1a | (and reports) | 17:54 |
replaceafill | we would only need to change the gradebook class, right? | 17:54 |
th1a | So you and replaceafill and I will need to discuss that. | 17:54 |
replaceafill | to change evaluations | 17:54 |
th1a | We just need views that let you drill down to the history. | 17:54 |
th1a | yvl: I'd say make a really, really simple view of some sort that works for testing. | 17:55 |
th1a | And then we'll talk about the real implementation. | 17:55 |
yvl | ok | 17:55 |
replaceafill | and dont forget scoresystems ;) | 17:55 |
* replaceafill really hates working with them :( | 17:55 | |
th1a | That's next, yvl. | 17:55 |
th1a | history, unfucking score systems. | 17:55 |
yvl | ok, this we'll need to chat about a little | 17:56 |
th1a | score systems? | 17:56 |
yvl | yes | 17:56 |
th1a | Well, that's next week (if things go well) | 17:56 |
yvl | I don't remember the scope of the problem | 17:56 |
yvl | does it include the fact that it is only possible to use "point evaluation" in gradebook? | 17:57 |
th1a | If replaceafill doesn't know, probably nobody does. | 17:57 |
* replaceafill would be happy with just having properties for scores, instead of scores[0][2] | 17:57 | |
th1a | All I ever knew was that something was fucked. | 17:57 |
replaceafill | i don't remember that part | 17:57 |
replaceafill | (the point evaluation part) | 17:58 |
th1a | I don't remember that either. | 17:58 |
yvl | the scores you can enter in gradebook | 17:58 |
yvl | can you enter F ? | 17:58 |
* aelkner_ is back | 17:58 | |
replaceafill | for the letter score systems yes | 17:58 |
yvl | really? | 17:58 |
th1a | Not for a regular scoresheet. | 17:59 |
yvl | how? | 17:59 |
th1a | Nor is it desirable. | 17:59 |
yvl | ok | 17:59 |
th1a | I thought there was some kind of "data model issue." | 17:59 |
yvl | frankly, I do not remember now | 18:00 |
yvl | anything | 18:00 |
yvl | I'll have to look at the code again | 18:00 |
th1a | Then just do whatever replaceafill asks for. | 18:00 |
replaceafill | ah, you mean a regular activity having letter scores | 18:00 |
yvl | yes | 18:00 |
replaceafill | now i understand yvl :) | 18:00 |
replaceafill | yes, for the moment is only possible with deployed sheets | 18:01 |
yvl | I actually start to worry about messing with those | 18:01 |
replaceafill | same with comment scores | 18:01 |
yvl | you obviously have some user requirements that are beyond my understanding of what a gradebook and a grade is | 18:01 |
yvl | and external activities also use "point score system" for some reason | 18:03 |
th1a | The entire premise of the gradebook is that it is based on points. | 18:03 |
th1a | That essentially defines it. | 18:03 |
yvl | we can really skip the unfucking the scoresystems part | 18:04 |
yvl | as long as I don't have to work with gradebook, I don't mind :) | 18:04 |
replaceafill | ¬¬ | 18:04 |
yvl | and I'll repeat once again | 18:04 |
th1a | Well, if replaceafill has scoresystem requests, he should make them this week. | 18:04 |
replaceafill | ok | 18:05 |
th1a | I added that task because there seemed to be a consensus that there was something fucked about score systems. | 18:05 |
yvl | and I really can't see what was done on purpose for some reason and what was f'd | 18:05 |
aelkner_ | it had to do with the pythn classes | 18:05 |
aelkner_ | the fact that the views had to do silly computations and look at attributes | 18:06 |
aelkner_ | where i think you wanted to make some methods that cleaned things up a bit | 18:06 |
aelkner_ | and perhaps also, change the underlying attributes | 18:06 |
aelkner_ | but that's all i remember | 18:06 |
replaceafill | ok, i have one | 18:06 |
replaceafill | in a extended letter score system | 18:06 |
replaceafill | is A+ lower or higher than B- | 18:07 |
replaceafill | ask the score system :/ | 18:07 |
aelkner_ | yeah, things like that | 18:07 |
aelkner_ | but yvl, it would only take looking at them and the gradebook to remind yourself what you meant | 18:07 |
replaceafill | thank God i recorded some: https://bugs.launchpad.net/schooltool.gradebook/+bug/955099 | 18:08 |
th1a | Well, I'm sure you two can come up with your wishlist this week. | 18:08 |
th1a | I'm not going to make yvl go looking for it. | 18:08 |
yvl | btw, how can one grade a comment score system? | 18:08 |
th1a | In what sense? | 18:08 |
replaceafill | score activity | 18:08 |
replaceafill | or student | 18:08 |
th1a | It is just a comment. | 18:08 |
yvl | how can I enter the value | 18:09 |
yvl | because I can't | 18:09 |
replaceafill | score the student | 18:09 |
replaceafill | click student name, score | 18:09 |
yvl | ah! | 18:09 |
th1a | We should have a dialog come up when you click the cell though. | 18:09 |
yvl | that's the trick | 18:09 |
th1a | Or at least a menu. | 18:09 |
th1a | There is pretty much an infinite list of gradebook refinements. | 18:10 |
yvl | and is there a reason why deployed worksheets can have activities with score systems | 18:10 |
yvl | but normal ones cannot? | 18:10 |
yvl | so if you have 1-10 score system in Lithuania | 18:10 |
th1a | Because you need to enter gradebook grades in a scoresheet. | 18:10 |
th1a | I mean, in a report sheet. | 18:11 |
yvl | ah | 18:11 |
th1a | Basically, we just don't really want to have to do a ton of calculations with letter grades. | 18:11 |
th1a | It is stupid and who knows how it is really supposed to work? | 18:11 |
th1a | We may do it someday. | 18:12 |
th1a | But, ug. | 18:12 |
yvl | ah, now I remembered what was making me sick ;) | 18:12 |
th1a | What is "B" plus "S-" ? | 18:12 |
yvl | but ok, we won't do that this time | 18:12 |
* replaceafill is curious | 18:13 | |
replaceafill | yvl, what was it? | 18:13 |
yvl | nevermind :) | 18:13 |
replaceafill | :( | 18:13 |
replaceafill | ok | 18:13 |
aelkner_ | no, please, what was it? | 18:13 |
yvl | well | 18:13 |
yvl | the whole thing should be implemented thinking about activities like simplified excell sheet cells | 18:14 |
yvl | so you have a cell, a data type, and a formula | 18:14 |
yvl | if there is a rule that defines what "B" plus "S-" is, the call can have a value | 18:14 |
yvl | if there is no such rule, the cell cannot has a value | 18:15 |
yvl | it's like asking | 18:15 |
yvl | in excell | 18:15 |
yvl | what is "2 + Tuesday" ? | 18:15 |
yvl | well it is an error, that's what :D | 18:15 |
yvl | but that does not mean that you cannot multiply, say 80 by 150% | 18:15 |
th1a | This is just something I don't want to get into now (which is why yvl said "nevermind"). | 18:16 |
yvl | yes | 18:16 |
replaceafill | agree | 18:16 |
aelkner_ | i was just curious | 18:16 |
yvl | and I really wanted a simplified version of that, so that we could pile on it later | 18:16 |
yvl | but nevermind ;) | 18:17 |
th1a | Well, I'm ok with a little data model cleanup now. | 18:17 |
yvl | btw | 18:18 |
yvl | it would be good if th1a thought about following use case a little: | 18:18 |
yvl | say, we're importing external activities from Moodle, or something else | 18:18 |
yvl | how would this work from user's perspective? | 18:19 |
th1a | In what sense? | 18:19 |
yvl | what will happen, if the score is "F" in Moodle (or some other LMS) | 18:19 |
yvl | step by step | 18:19 |
yvl | how does the user add/deploy/conjure an external activity | 18:19 |
th1a | We currently require a % and a point value. | 18:20 |
th1a | I believe. | 18:20 |
yvl | ok | 18:20 |
yvl | so, just convert "F" to a % | 18:20 |
yvl | and then use the % * point value | 18:20 |
th1a | I think the point value is set on our end and we expect a % score. | 18:20 |
yvl | average those | 18:20 |
replaceafill | th1a, correct | 18:20 |
yvl | and convert back to "F" in deployed | 18:20 |
yvl | so | 18:21 |
yvl | the user will never see F, if he adds a score from Moodle? | 18:21 |
yvl | right? | 18:21 |
yvl | instead of F he will see 10 (or 1, depending on configuration) | 18:21 |
th1a | ATM, Moodle would have to send us a % value, and it would show up as a point value in our gradebook. | 18:22 |
yvl | so that is the intended behaviour | 18:22 |
yvl | whatever the users enter in other systems | 18:23 |
th1a | The sheet as a whole can convert the average to a letter grade. | 18:23 |
yvl | right | 18:23 |
yvl | so, users can enter grade F in a deployed sheet | 18:23 |
th1a | Well, here's the thing -- our gradebook is the one that has to do the math to integrate the Moodle score with other grades, so I really prefer to have the math be transparent. | 18:23 |
yvl | but can not see F imported from Moodle | 18:23 |
th1a | Yes. | 18:24 |
yvl | because we chose to restrict that | 18:24 |
yvl | even if you can deploy a report sheet | 18:24 |
yvl | and can enter grades like F | 18:24 |
yvl | you cannot see an F imported from external activities | 18:24 |
th1a | Our role here is to integrate the scores and make clear mathematical calculations based on them. | 18:24 |
yvl | ok | 18:25 |
yvl | I just wanted to be sure | 18:25 |
th1a | They already know they gave the kid an "F" in Moodle. | 18:25 |
yvl | because it does sound weird to me | 18:25 |
th1a | In the end, we may have to change it, but I don't want to do a ton of non-mathematical math. | 18:25 |
yvl | I'm ok with this :) | 18:26 |
aelkner_ | non-mathmatical math, interesting concept :) | 18:26 |
th1a | Teacher's gradebooks are not bound by the rules of mathematics. | 18:26 |
yvl | should they be? | 18:27 |
th1a | If we want to maintain our sanity, yes. | 18:27 |
th1a | Non-mathematical math requires a paid support contract. ;-) | 18:27 |
th1a | (literally, actually) | 18:28 |
yvl | it still kills me that one can enter F for reporting, but cannot import it from external systems | 18:29 |
yvl | kind of defeats the purpose | 18:29 |
yvl | anyway | 18:29 |
yvl | so, I'll work on score history and on something that replaceafill and aelkner_ asks me to | 18:30 |
th1a | One issue is that "F" represents a range of values but ultimately has to be expressed as a single value. | 18:30 |
yvl | then why do you allow the user to enter it? | 18:30 |
yvl | if you have an issue with that? | 18:30 |
th1a | In the end, you convert to a grade. | 18:31 |
yvl | in a deployed worksheet? | 18:31 |
yvl | sorry guys, this just does not compute for me | 18:31 |
th1a | Also, the point value of a letter grade may be in an entirely different range as its input value. | 18:31 |
yvl | I can see a worksheet, write an F in it | 18:31 |
yvl | but I cannot import an F in it | 18:31 |
yvl | I have to manually look at Moodle | 18:32 |
yvl | and write an F in it | 18:32 |
th1a | In the US, an "A" represents 90% to 100% (for example), but if you do a calculation with it, it is worth "4" | 18:32 |
yvl | th1a, | 18:32 |
yvl | read what I wrote | 18:32 |
yvl | you don't see a problem with a fact that users can enter an F in a cell, but cannot import an F in a cell? | 18:33 |
th1a | The deployed report sheet is for the purpose of creating reports. | 18:33 |
yvl | you don't see a problem with a fact that users can enter an F in a cell, but cannot import an F in a cell, for the purpose of reports? | 18:33 |
th1a | I think what you are asking for is a new feature of report sheets. | 18:33 |
th1a | Not of worksheets. | 18:33 |
yvl | yes | 18:34 |
yvl | well, anyway | 18:34 |
th1a | OK, yes, that is a different and more complicated feature. | 18:34 |
yvl | wat | 18:34 |
yvl | anyway | 18:35 |
yvl | if you say so | 18:35 |
*** th1a has left #schooltool | 18:35 | |
*** th1a has joined #schooltool | 18:35 | |
yvl | sorry, I'll stop trolling now | 18:35 |
th1a | The question would be whether you expect to do this Moodle import on ALL the relevant users automatically (more complicated) or have individual users link their report sheets to an external source manually. | 18:36 |
th1a | (also probably with complications) | 18:36 |
th1a | OK. I'm talked out. | 18:37 |
* th1a is kind of assuming menesis doesn't have much to report... | 18:38 | |
yvl | really, I do appreciate you explaining me this | 18:38 |
th1a | I'm happy to. | 18:38 |
menesis | th1a: true | 18:38 |
th1a | OK then. | 18:39 |
th1a | See you guys Wednesday. | 18:39 |
yvl | thanks guys | 18:39 |
th1a | Thanks! | 18:39 |
* th1a drops the bag of gravel. | 18:39 | |
replaceafill | thanks everybody | 18:39 |
*** menesis has quit IRC | 19:22 | |
replaceafill | in /sections why don't we call the Size column "Students"? | 20:03 |
th1a | We should! | 20:15 |
replaceafill | will do :) | 20:15 |
*** ignas has quit IRC | 20:59 | |
*** menesis has joined #schooltool | 21:08 | |
*** th1a has quit IRC | 21:32 | |
*** ignas__ has joined #schooltool | 22:00 | |
*** th1a has joined #schooltool | 22:02 | |
th1a | aelkner_: ayt? | 22:02 |
aelkner_ | yes | 22:02 |
th1a | OK, so where are we? | 22:04 |
aelkner_ | well, you know, there was a lot said today on a lot of subjects | 22:05 |
aelkner_ | i don't think the whole document node thing was fully defined | 22:05 |
aelkner_ | i mean, i was hoping that we would agree that a document object would tell | 22:06 |
aelkner_ | us what the levels are, but the way yvl said it, we would have a document node that had a document level | 22:06 |
aelkner_ | but which levels came after was not clear to me, or how the user would specify them | 22:07 |
th1a | Basically I feel like yvl has no huge objections and we can plow ahead. | 22:08 |
aelkner_ | you mean, just do it whatever way we see as reasonable, right? | 22:08 |
th1a | Yes. | 22:08 |
aelkner_ | ok, well, the first thing i want to do to the code is move levels and nodes out of years | 22:09 |
aelkner_ | that, in itself, will take a couple days, and then i could think about how to do the document in the meantime | 22:09 |
th1a | OK. | 22:09 |
aelkner_ | but if you want to discuss the ui for documents now, we could certainly do a little prep there | 22:10 |
aelkner_ | it might help me in my thinking about documents in the model | 22:10 |
th1a | The main thing is we just need a form that lets you add an arbitrary number of levels and give them names. | 22:10 |
aelkner_ | an ordered list on the form denoting the hierarchy, right? | 22:11 |
th1a | Yes. | 22:11 |
aelkner_ | how does the user call up the form, we are to support more than one, what's the ui for that? | 22:12 |
th1a | There will be a Skills Documents container. | 22:12 |
th1a | You'll get there from the customize sidebar. | 22:12 |
aelkner_ | from the School tab | 22:12 |
th1a | Yes. | 22:12 |
aelkner_ | ah, the sidebar | 22:13 |
aelkner_ | next to report sheet templates, right? | 22:13 |
th1a | Pretty much. | 22:13 |
th1a | That whole view may need a refresh soon. | 22:13 |
th1a | But in the meantime, put it there. | 22:13 |
aelkner_ | what whole view, the School tab? | 22:13 |
th1a | Yes. | 22:14 |
aelkner_ | ah, i see | 22:14 |
th1a | Anyhow... | 22:14 |
aelkner_ | ok, but yeah, that seems like the place for now | 22:14 |
th1a | y | 22:14 |
aelkner_ | then we would 'deploy' a document to the school year as yvl had suggested, kinda what i was saying last year | 22:15 |
aelkner_ | same as the way we deploy report sheets | 22:15 |
aelkner_ | last week, not last year | 22:15 |
th1a | I don't understand why that is necessary in any way. | 22:16 |
aelkner_ | oh, ok, perhpas you have something else in mind | 22:16 |
th1a | Besides keeping the list of available documents short, but that's not an immediate problem. | 22:16 |
th1a | Eventually you *might* have a bunch of obselete skills documents, but that's very much a long term issue. | 22:17 |
aelkner_ | so, regardless of year, when the user is interested in finding a skillset to assign to a course | 22:18 |
aelkner_ | they will be offered up the global document list to choose from | 22:18 |
aelkner_ | is that what you are saying? | 22:18 |
aelkner_ | i mean, if there is only one document, we could start them out at the root of that document | 22:20 |
aelkner_ | but if there are more than one, they would need to choose | 22:20 |
th1a | I guess, tbh we don't really know what that interface looks like at all, right? | 22:21 |
aelkner_ | that's why i'm bringing it up now, to plan how it would look | 22:22 |
aelkner_ | to point is: | 22:22 |
aelkner_ | as with report sheets templates, you create them in one place, use them in another | 22:22 |
aelkner_ | it kinda goes hand in hand | 22:23 |
th1a | It will probably be determined by the design of replaceafill's awesome skills browser task, coming soon. | 22:23 |
aelkner_ | ah, ok, he will handle it when the time comes wth his task, i won't worry about it | 22:23 |
aelkner_ | i can just make sure we have the global templates (so to speak) | 22:23 |
th1a | Yes. | 22:24 |
aelkner_ | ok, sounds good | 22:24 |
*** ignas__ has quit IRC | 22:54 | |
*** menesis has quit IRC | 23:52 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!