*** yvl has joined #schooltool | 08:47 | |
*** replaceafill has joined #schooltool | 09:07 | |
replaceafill | yvl, ping | 09:08 |
---|---|---|
yvl | hey replaceafill | 09:08 |
replaceafill | hey yvl good morning :) | 09:08 |
yvl | good evening :) | 09:08 |
replaceafill | you have like 10 mins? | 09:08 |
yvl | sure | 09:08 |
replaceafill | i guess you know about VA latest problem | 09:08 |
replaceafill | about importing skills | 09:08 |
yvl | yes | 09:09 |
replaceafill | they have some changes in the 2013 versions | 09:09 |
replaceafill | and we need a way to "hide" stuff | 09:09 |
replaceafill | we already had a retired attribute for skills | 09:10 |
replaceafill | and Tom suggested we should also add it for skillsets | 09:10 |
replaceafill | so i added it, and changed the importer to look for it in the SkillSets sheet | 09:10 |
replaceafill | changed the batch assignment view to ignore nodes with retired skillsets | 09:11 |
replaceafill | but i hit a problem with the project search | 09:11 |
replaceafill | i mean, when you add a skill to a project | 09:11 |
replaceafill | because it uses the catalogs | 09:11 |
yvl | right | 09:12 |
replaceafill | and i don't know how to do it without loading everything up | 09:12 |
replaceafill | first of all | 09:12 |
replaceafill | what do you think it's the appropriate solution for this? | 09:12 |
replaceafill | i mean, for the whole issue | 09:12 |
yvl | the most obvious two approaches would be | 09:13 |
yvl | 1) only catalog non-retired skillsets | 09:13 |
yvl | this would work everywhere by magic, but you'd need extra catalog if you ever wanted to query old skills | 09:13 |
yvl | 2) add 'retired' attribute to skillset catalog | 09:14 |
yvl | and in the views, use intersection of all not-retired sets and skills you searched for | 09:14 |
yvl | indexes have this useful values_to_documents IIRC | 09:15 |
yvl | so you'd just need to pick all 'retired' values_to_documents of False | 09:15 |
yvl | I'd prefer 2 over 1 | 09:16 |
replaceafill | great! because 2) is what i started :D | 09:16 |
yvl | but if you want to do 1, I'd add extra catalog called active skillsets, and replace the old one with it where needed | 09:16 |
replaceafill | but i didn't know where to put the check | 09:16 |
replaceafill | i thought it was in the table filter | 09:17 |
replaceafill | but then i didn't know how to actually filter the skillsets by "retired" | 09:17 |
yvl | catalog['retired'].values_to_documents[False] should give you intids of all active skillsets | 09:19 |
replaceafill | i guess is around here: | 09:19 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.cando/trunk/view/head:/src/schooltool/cando/browser/gradebook.py#L988 | 09:19 |
replaceafill | or here specifically: | 09:19 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.cando/trunk/view/head:/src/schooltool/cando/browser/gradebook.py#L1009 | 09:19 |
replaceafill | but then i get a question, what about nodes? shouldn't they also be filtered? | 09:20 |
replaceafill | a course node for instance | 09:20 |
replaceafill | which all skillsets have been retired | 09:21 |
replaceafill | same with skills, which are contained in a retired skillset | 09:21 |
yvl | hmm | 09:23 |
yvl | maybe we should add a subscriber that retires all skills of the skillset when it's retired | 09:24 |
yvl | but yes :) | 09:25 |
yvl | valid questions | 09:25 |
yvl | probably yes, we should filter them also | 09:25 |
yvl | maybe even add a checkbox "[ ] show retired entries" near the search field | 09:25 |
yvl | I guess it's up to Tom | 09:25 |
replaceafill | right | 09:26 |
replaceafill | i'll add the subscriber | 09:27 |
yvl | ok | 09:29 |
*** replaceafill has quit IRC | 11:05 | |
*** menesis has joined #schooltool | 11:15 | |
*** menesis has quit IRC | 15:03 | |
*** pgulley has joined #schooltool | 15:59 | |
*** menesis has joined #schooltool | 16:05 | |
*** replaceafill has joined #schooltool | 16:20 | |
pgulley | replaceafill, I've got the fitler pushed | 16:34 |
pgulley | to lp:~nano3-14/schooltool.quiz/quiz.ui | 16:34 |
replaceafill | pgulley, ah ok, i'll check it | 16:35 |
replaceafill | pgulley, don't we already have a taken function? | 16:37 |
pgulley | ah, yes. | 16:38 |
pgulley | just fixed it. silly oversight on my part | 16:41 |
replaceafill | pgulley, isn't the course dropdown supposed to show you "courses"? | 16:41 |
replaceafill | this is showing sections, right? | 16:41 |
pgulley | yes and yes. | 16:42 |
pgulley | this was something I didn't quite understand- in what cases will those be different? | 16:42 |
replaceafill | in a multiterm year | 16:43 |
replaceafill | you don't use the .current_term filter in courses if you show term checkboxes | 16:44 |
replaceafill | although i don't think that current_term is actually being used... | 16:44 |
pgulley | alright | 16:46 |
pgulley | you're right, I'll fix the sections/courses | 16:47 |
replaceafill | ok | 16:47 |
pgulley | and fix other redundancies | 16:47 |
pgulley | will a section ever have more than one course? | 16:52 |
replaceafill | in theory yes | 16:52 |
replaceafill | but we currently only associate one | 16:52 |
pgulley | okay. so this should work with that. I can do. | 16:54 |
*** hoffman has joined #schooltool | 16:58 | |
hoffman | hi replaceafill, menesis, yvl. | 16:58 |
hoffman | How was your vacation menesis? | 16:58 |
yvl | good morning Tom | 16:58 |
replaceafill | good morning/afternoon | 16:58 |
menesis | hello | 16:58 |
menesis | very good | 16:59 |
hoffman | OK, I see you have a party. | 16:59 |
*** hoffman is now known as th1a | 16:59 | |
menesis | good weather all week | 16:59 |
th1a | Excellent. | 16:59 |
menesis | except hit a storm on our way home | 16:59 |
th1a | Anything quick to report yvl? I mostly have to talk to replaceafill today. | 16:59 |
yvl | revived School tab | 17:00 |
th1a | We have to calm down Dave and Glenda. | 17:00 |
yvl | mostly done with permissions | 17:00 |
yvl | had to resort to view permissions and they are a bit iffy | 17:00 |
yvl | school tab now visible to admins and clerks, but only part of it is viewable | 17:00 |
yvl | and things are not editable there mostly | 17:00 |
yvl | while allowing term reports, noticed that viewlet proxy machinery allows too many report links to pass through | 17:01 |
yvl | fixing that now | 17:01 |
* yvl done | 17:01 | |
yvl | oh | 17:01 |
yvl | some reports they want are per-student per-gradebook | 17:02 |
th1a | OK. By "part of it is viewable" do you mean some things are omitted but the view overall works? | 17:02 |
yvl | yes | 17:02 |
th1a | OK. | 17:02 |
yvl | so instead of gradebook I'll have to display a table with links | 17:02 |
yvl | links will be same as student dropdown | 17:02 |
yvl | student_name _reports_ _score_history_ | 17:03 |
th1a | That's so the admin or clerk can navigate to an individual student report? | 17:03 |
yvl | yes | 17:03 |
th1a | OK. | 17:03 |
* yvl done now. | 17:03 | |
th1a | I'm not exactly sure when we'll meet again -- I don't know if getting on campus wifi is going to be a headache. | 17:03 |
yvl | I can keep myself busy | 17:04 |
th1a | I'll keep you posted and then hopefully will have a whole walkthrough wed/thurs/fri? | 17:04 |
yvl | Thu is bank holiday here | 17:04 |
yvl | (almost forgot...) | 17:04 |
yvl | so Wed or Fri | 17:05 |
th1a | Hm... I'm arriving in Glasgow Tuesday morning so I should be able to at least get to a cafe Wednesday AFTERNOON. | 17:05 |
yvl | also, I'd like to take a vacation first two weeks of Sep | 17:05 |
th1a | Because the meeting is in the AFTERNOON. | 17:05 |
yvl | YES :))) | 17:06 |
yvl | timezones! | 17:06 |
th1a | yvl: OK, that should be fine. | 17:06 |
yvl | see you soon then | 17:06 |
th1a | I'll try to do Wednesday. | 17:06 |
th1a | If I can't get on the internet at all... I won't send you an email. ;-) | 17:06 |
replaceafill | we can meet in the morning your time th1a | 17:06 |
replaceafill | i can stay up late or get up really early :) | 17:06 |
replaceafill | i mean, just for the meetings | 17:06 |
th1a | I don't mind meeting in the afternoon. | 17:07 |
replaceafill | ok | 17:07 |
th1a | Let's keep it the same time for the moment. | 17:07 |
th1a | I don't think I have anything in particular for menesis. | 17:07 |
th1a | We'll need to have what replaceafill is working on in the daily trunk releases, but I think the whole idea is that menesis doesn't need to do anything in particular for that. | 17:08 |
th1a | ? | 17:08 |
menesis | yes, trunk ppa is updated automatically | 17:09 |
th1a | OK, menesis and yvl are excused. Happy birthday POV! | 17:09 |
menesis | from trunk branches | 17:09 |
yvl | thanks th1a | 17:09 |
menesis | I have made releases of everything before vacation | 17:09 |
yvl | have a great trip!!! | 17:09 |
th1a | Yes, thanks menesis. | 17:10 |
replaceafill | i have a question for yvl | 17:10 |
replaceafill | :) | 17:10 |
yvl | still here :) | 17:10 |
replaceafill | yvl, how do you check if an specific attribute has changed in a susbscriber adapter | 17:11 |
replaceafill | i mean, there's already a subscriber to check for changes in the global skillsets | 17:11 |
replaceafill | i'd like to add a check against retired being changed from false to true | 17:12 |
replaceafill | and react accordingly | 17:12 |
yvl | I think it would be ok to just check for true | 17:12 |
yvl | if retired, make sure skills are also retired | 17:12 |
replaceafill | ah ok | 17:12 |
th1a | Sorry, I was on the phone. | 17:21 |
th1a | OK replaceafill, where are we from your point of view? | 17:22 |
replaceafill | ok | 17:22 |
replaceafill | we need to make a few decisions | 17:22 |
replaceafill | but i'll tell you what we currently have | 17:23 |
replaceafill | 1. getverso.py changes are done, it receives a suffix with the year | 17:23 |
replaceafill | which sets the id and title for the document | 17:23 |
replaceafill | so they will be able to navigate better | 17:23 |
replaceafill | (separated docs) | 17:23 |
replaceafill | 2. i also added the retired attribute for skillsets | 17:24 |
replaceafill | updated the importer/exporter | 17:24 |
replaceafill | 3. batch skill assign works for courses | 17:24 |
*** yvl has quit IRC | 17:24 | |
replaceafill | it now filters based on retired skillsets | 17:25 |
replaceafill | here's the first decision we have to make | 17:25 |
replaceafill | that view uses nodes for the matching | 17:25 |
replaceafill | nodes have no notion of retirement | 17:25 |
replaceafill | they only have a relationship to skillsets | 17:25 |
replaceafill | but i suppose they should not be included in searches | 17:26 |
th1a | I think they need a retirement attribute. | 17:26 |
replaceafill | nodes too? | 17:26 |
th1a | Yes. | 17:27 |
th1a | I mean, unless that is more of a can of worms than I realize. | 17:27 |
replaceafill | actually it'd make it easier to code, i think | 17:28 |
replaceafill | if you just check the node's attribute | 17:28 |
replaceafill | instead of searching for each skillset related | 17:28 |
th1a | Yes. | 17:28 |
th1a | Just make it all explicit. | 17:28 |
replaceafill | let me check that sheet | 17:28 |
replaceafill | ok | 17:29 |
replaceafill | since we're adding retired everywhere, maybe we should retire documents :D | 17:29 |
replaceafill | (lame joke) | 17:29 |
replaceafill | i see, we can add the retired column to nodes | 17:30 |
th1a | lol | 17:30 |
replaceafill | i'll do that | 17:30 |
replaceafill | yvl suggested adding a subscriber | 17:30 |
replaceafill | when you retire a skillset, all its skills get automatically retired too | 17:30 |
replaceafill | i guess we'll need the same for nodes? | 17:30 |
replaceafill | but it's trickier in this case imho | 17:31 |
replaceafill | nodes have relationships to skillsets | 17:31 |
th1a | No, just leave it explicit. | 17:31 |
replaceafill | ok | 17:31 |
replaceafill | in the UI retired attributes should only be set during edit, right? | 17:32 |
th1a | Being able to retire skills through the skillsets does mean our retirement spreadsheet can be smaller. | 17:32 |
replaceafill | i mean, not at creation time | 17:32 |
th1a | I don't see the use case for creating a retired skill. | 17:32 |
replaceafill | cool, me neither | 17:33 |
replaceafill | ok, visible vs retired | 17:33 |
th1a | Not a big deal either way. | 17:33 |
replaceafill | right now | 17:33 |
replaceafill | we have this view for course skills | 17:33 |
replaceafill | Set Required/Visible | 17:33 |
replaceafill | basically, it allows you to change the retired attribute for course skills | 17:33 |
replaceafill | but we call the column Visible | 17:33 |
replaceafill | should we use that same wording | 17:34 |
replaceafill | i mean, everywhere? | 17:34 |
th1a | Is it literally retiring them? | 17:34 |
replaceafill | well, it just sets the attribute to true | 17:34 |
th1a | OK, I guess we should be consistent. | 17:35 |
replaceafill | and makes the gradebook to ignore them | 17:35 |
replaceafill | is it ok if the spreadsheet says Visible? | 17:35 |
th1a | Which spreadsheet? | 17:36 |
replaceafill | SkillSets, Skills and now Nodes too | 17:36 |
replaceafill | they all have the Retired column | 17:36 |
replaceafill | should we call the column "Visible"? | 17:37 |
th1a | Oh, wait. | 17:37 |
th1a | So "retired" is in the code but "visible" is in the UI, and that's consistent right now? | 17:37 |
replaceafill | well, the only part we've used it in yes | 17:38 |
replaceafill | course skills | 17:38 |
replaceafill | retired in the code, visible wording in the UI | 17:38 |
replaceafill | the spreadsheets have the column called Retired | 17:38 |
th1a | Erg. | 17:38 |
replaceafill | yvl suggested adding an option to search to show you retired stuff | 17:38 |
th1a | Yes. | 17:39 |
th1a | We really should use "Deprecated" in the UI. That's the best term. | 17:39 |
th1a | Of course, that has the opposite meaning of "visible" in terms of logic. | 17:40 |
replaceafill | right | 17:40 |
th1a | Grr... | 17:40 |
replaceafill | :D | 17:40 |
th1a | How does that even work now? | 17:41 |
th1a | Visible and Retired are already opposites. | 17:41 |
replaceafill | you go to any course, Skills, Set Required/Visible, two checkboxes for each skill | 17:41 |
replaceafill | what you actually set is required and retired | 17:42 |
replaceafill | there's no "visible" or something like that | 17:42 |
replaceafill | in the gradebook code, if the skill is retired we just skip it | 17:42 |
th1a | So unchecking visible causes the skill to be marked retired? | 17:42 |
replaceafill | correct | 17:42 |
th1a | So you should be able to undo that flip and just make it "Deprecated" | 17:43 |
th1a | Right? | 17:43 |
replaceafill | not sure i get that last part | 17:44 |
replaceafill | undo? | 17:44 |
th1a | Whatever in the code is switching a checked visible box into an unchecked retired attribute. | 17:45 |
th1a | I'm probably to blame for this btw. | 17:45 |
replaceafill | we all are th1a :) | 17:46 |
th1a | I need replaceafill to keep track of these consistency issues. | 17:46 |
th1a | OK, so, make sense? | 17:47 |
replaceafill | no, sorry | 17:48 |
replaceafill | i don't understand how we're going to add Deprecated instead of Visible | 17:48 |
th1a | Visible is not actually stored in the data model. Retired is, right? | 17:49 |
replaceafill | correct | 17:49 |
th1a | So that view is translating anyhow, right? | 17:49 |
replaceafill | yes | 17:49 |
th1a | False retired = true visible. | 17:49 |
replaceafill | yes | 17:49 |
th1a | So just make it do false retired = false deprecated. | 17:49 |
th1a | That shouldn't be hard? | 17:50 |
replaceafill | my point is, in that context is *hiding* | 17:50 |
replaceafill | in the course skills context | 17:50 |
th1a | Yeah, just let it act the same way. | 17:51 |
th1a | That should be fine right? | 17:51 |
th1a | What else would happen when you deprecate a course skill? | 17:51 |
replaceafill | right now, nothing else | 17:51 |
replaceafill | ok, i added it to my notes | 17:52 |
replaceafill | last: workflow | 17:52 |
replaceafill | how are they going to work with all of this? | 17:53 |
th1a | So use deprecated throughout the UI and the spreadsheets. | 17:53 |
replaceafill | th1a, kk | 17:53 |
th1a | In what sense? | 17:53 |
replaceafill | i guess they'll first need to export the existing skills? | 17:53 |
replaceafill | change deprecated columns | 17:53 |
th1a | OH, right. | 17:53 |
replaceafill | and reimport | 17:54 |
replaceafill | unfortunately, this fails in one part, equivalences in the importer | 17:54 |
replaceafill | i just found this issue | 17:54 |
replaceafill | so i'm not sure what's causing it | 17:54 |
replaceafill | DuplicateRelationship | 17:54 |
th1a | VA CTE is going to provide the deprecation spreadsheet. | 17:55 |
replaceafill | i thought so | 17:55 |
th1a | But this time you might be doing it for them. | 17:55 |
replaceafill | but what about ACC custom skillsets? | 17:55 |
replaceafill | i found like 15 | 17:55 |
replaceafill | which are not in verso | 17:55 |
th1a | They shouldn't need to automatically deprecate them. | 17:59 |
th1a | Unless they are as crazed as VA CTE. | 18:00 |
replaceafill | :D | 18:00 |
th1a | It is a highly abnormal use case. | 18:00 |
replaceafill | ok, so the workflow doesn't include export | 18:01 |
replaceafill | we create the spreasheet for them | 18:01 |
th1a | Can you run the script against the verso database? | 18:01 |
th1a | Ahg. I have to go for a bit. | 18:01 |
replaceafill | ok | 18:01 |
replaceafill | i have things to do, np ;) | 18:01 |
th1a | hi replaceafill. | 18:21 |
replaceafill | hey th1a | 18:23 |
th1a | OK... | 18:23 |
th1a | So can you run the script yourself against verso or only they can do it? | 18:23 |
*** menesis has quit IRC | 18:23 | |
replaceafill | since friday, i've been trying to run it, but from here it always timouts | 18:24 |
replaceafill | i tried running it in the vps | 18:24 |
replaceafill | (since it has a better connection) | 18:24 |
replaceafill | but there it gets into a memory error :( | 18:24 |
replaceafill | i remember aelkner mentioned the same in the past | 18:24 |
th1a | Do you want to send a copy to Lee/Glenda and let them try it? | 18:25 |
replaceafill | sure | 18:25 |
th1a | (mostly Lee) | 18:25 |
th1a | OK, do that please. | 18:25 |
replaceafill | but don't know how to phrase the "don't do anything else after this" :D | 18:25 |
replaceafill | ok | 18:26 |
th1a | You want to get the results from them and to go through the rest of the process yourself. | 18:26 |
th1a | They've done their share of beta testing at this point. | 18:26 |
replaceafill | ah ok | 18:26 |
th1a | Just tell them you can't complete the script because of your network timeouts. | 18:27 |
replaceafill | sure | 18:27 |
th1a | And basically we should be able to get these fixes into the trunk PPA by? Wednesday? | 18:27 |
replaceafill | i'll shot for tomorrow, it was definitely more complicated than i expected :( | 18:28 |
th1a | Don't worry about Glenda not wanting a deprecation step. | 18:28 |
replaceafill | but yes, wednesday is ok | 18:28 |
th1a | If they want to deprecate everything, it is another step. | 18:28 |
replaceafill | right, i noticed she doesn't want extra steps | 18:28 |
th1a | If they want a simpler process they need a simpler process! | 18:28 |
replaceafill | :D | 18:28 |
th1a | OK. I'm leaving you in charge of this operation replaceafill. | 18:29 |
th1a | Just let them know what is going on. | 18:29 |
replaceafill | damn | 18:29 |
replaceafill | sure | 18:29 |
th1a | I'll shoot off a short email before I go. | 18:29 |
replaceafill | ok | 18:30 |
replaceafill | have a good/safe trip th1a | 18:30 |
th1a | Thanks replaceafill. | 18:30 |
th1a | OK... gotta go! | 18:30 |
* th1a drops the bag of gravel. | 18:30 | |
replaceafill | see you | 18:30 |
*** th1a has quit IRC | 21:33 | |
pgulley | replaceafill! sorry, I pushed those changes a while ago- you were in a meeting. | 21:56 |
replaceafill | pgulley, looks good at first glance | 22:00 |
replaceafill | a basic test would be nice ofc | 22:00 |
pgulley | okay, I'll write one tomorrow morning. | 22:10 |
* replaceafill goes to get lunch, bb in ~1h | 22:34 | |
*** pgulley has quit IRC | 22:50 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!