IRC log of #schooltool for Monday, 2012-04-23

*** ignas has joined #schooltool00:34
*** ignas has quit IRC01:25
*** paulproteus has quit IRC02:47
*** paulproteus has joined #schooltool02:48
*** alga_ has quit IRC05:04
*** aks has joined #schooltool06:00
*** aks has quit IRC06:02
*** aks has joined #schooltool06:02
*** aks_ has joined #schooltool06:29
*** aks has quit IRC06:29
*** aks_ is now known as aks06:29
*** mattva01 has quit IRC07:57
*** mattva01 has joined #schooltool08:12
*** yvl has joined #schooltool09:36
*** ignas has joined #schooltool12:59
*** alga has joined #schooltool14:05
*** ignas has quit IRC14:31
*** aks has quit IRC15:23
*** th1a has joined #schooltool15:41
*** ignas has joined #schooltool16:04
*** ignas has quit IRC16:09
*** mattva01 has quit IRC16:10
*** mattva01 has joined #schooltool16:10
th1ayvl: Just forwarded an email to you.16:18
*** replaceafill has joined #schooltool16:20
yvlthanks, I read it16:22
th1aSo we need to come up with a date, I guess.16:28
* yvl is unavailable May 18-2016:30
yvlother dates are fine, I think16:31
th1ahi aelkner, yvl, replaceafill.16:32
replaceafillgood morning/afternoon16:32
th1amenesis is on vacation.16:32
th1aOK... we're getting more and more news from my side these days...16:33
th1aAlso, everyone in the rest of the world likes to start sending me emails and chats Sunday evening, which is a little annoying.16:34
th1a(it is Monday morning for them, ofc)16:34
th1aGot an email from a company in Qatar that is interested in supporting an Arabic translation.16:35
th1aCritical Links is ready to do their version update so I need to get Justas over there.16:35
th1aignas's company may pick up a small ST contract from Australia.16:36
th1aWe may need more SchoolTool developers soon.16:36
th1aGood news for aelkner.16:37
th1aquestion for aelkner16:37
th1aIn the new section import, did we do anything for linked sections?16:38
aelknergreat news16:38
aelkneryes, linked sections are handled, more flexibly than in the old sheet16:38
aelknerin that there is a prev id an next id col whereas before there was just a yes or no16:39
aelknerand the id had to match16:39
th1aOh, yeah.16:39
th1aThanks for reminding me.16:40
th1aOK aelkner and yvl, questions for each other?16:41
aelkneryvl, you saw my email to the developer list?16:41
yvlyes I did16:41
th1aDo you have some import sheets working aelkner?16:43
aelknerthat's what the note said, and one of them has stests16:44
yvlwell, first it struck me weird, that you made an importer for school tool app itself16:44
yvland btw, the model is done, I had no plans to extend it further16:45
aelknerok, well, then i guess you'll need to explain how it works16:45
yvlwell, competencies are stored globaly16:45
yvldocument model (nodes) are stored per year16:45
yvlnodes are linked to competencies16:46
yvlI don't understand the question16:46
aelkneri see nodes have parents and layers, not competencies16:46
aelknerlet's keep our vocabulary specific to match our code if we can, for communication sake16:47
yvlI probably should add the NodeSkillSets as a bound relationship property16:47
yvlbut yes, via that16:47
aelknersee, told you something was missing :)16:48
yvlit's not missing16:48
yvlbound properties are a convenience function16:48
yvla helper, if you will16:48
yvlbut ok, I'll add it today16:48
aelknerah, yes, true in theory, but yes, the helpers help the idiot programmer here to understand :)16:49
aelknerespecially the unit tests16:49
yvlmy sincere apologies16:50
yvlI should have added that to the interface16:50
yvlwill do today16:50
aelknerbut ayway, you asked why i had teh importer for the app context16:50
aelknerbut you have the views for that context on the skillssets and skills16:50
aelknerso doesn't it make sense to have a matching importer to those views?16:50
yvlsorry, for me it does not make sense16:51
th1aWhat does this mean to the user?16:51
th1aI mean, what are on the different sheets?16:52
aelknerth1a, on sec, 'll give you links16:52
aelknerthat's for the global data, i.e., app context16:53
aelknerit matches the Skills views that yvl set up for those objects16:54
aelknerdo we have a running instance of those views yet?16:54
aelkneri could set ne up now if we need it16:54
th1aSeeing the sheets is fine for me atm.16:54
aelkneri have stests that do though the ui, starting at the Skills link in the School tab16:55
aelknerand checks that the skillset and skills in question get imported16:55
th1aSo what's in the other sheet?16:56
aelknerwell, layers and noodes are for the year context, but there is no ui for them yet16:57
aelknerhere's the sheet, though:16:57
aelknerall i had to go on was the unit tests, but they were very helpful16:57
aelkneronly thing missing was the aforementioned link which yvl said he will add soon16:58
th1aHm.  OK.16:58
aelknernice that the skills ui was already done16:59
th1aAnd that's by year?16:59
replaceafillmanage-skills-overview should not appear if there's no school year imho16:59
replaceafillooops, yvl ^16:59
replaceafillit's like the other global containers, isn't?17:00
replaceafilllike resources17:00
yvloh, resources are hidden when no school year?17:00
yvlmy fault then, thanks for noticing17:00
aelknerreplaceafill, why sould resources be hidden when no school year?17:01
replaceafillask th1a :)17:01
aelknerresources and skills are app dependent, not year dependent, but that's th1a's call17:02
th1aDo resources exist outside of years?17:02
replaceafilland persons ;)17:02
aelknerah, yes, persons, too, good point17:02
replaceafilland report sheets?17:02
aelknertemplates, yes, deployed, no17:03
th1aI don't know why resources should be hidden then.17:04
aelknerth1a, in theory, there's no reason not to include persons, resources, skills and report sheet templates17:04
aelknerin the School tab when there is no school year17:05
aelknerbut you may have had your reason for not showing them, so...17:05
replaceafillth1a, iirc (it should be in the logs somewhere), we did it to give "adding a school year" emphasis17:05
th1aWell, we probably need to rearrange that page soonish.17:05
th1aYes... there is no reason to encourage people to not do a school year first.17:05
aelknerthat was probably your reason :)17:05
replaceafilllike "this is the first thing you should do"17:05
th1aBut it is pretty much a toss up.17:05
th1aYes, focus on what you should be doing first.17:06
th1aI guess I should look at this if yvl has written more of the ttw ui.17:07
aelknerfor now, i suppose the,  manage-skills-overview should work like the others17:07
aelkneruntil we come up wth a way of showing those four things when there is no year17:08
th1aNot showing them is fine.17:08
th1aOK... moving on.17:09
th1aanything else aelkner?  What's your timeframe looking like for finishing this?17:09
aelknerfinishing what part exactly?17:10
th1aThe whole CanDo import process?17:11
aelknerwell, i need to add the link of the yearly data to the global data when yvl adds that helper17:12
aelknerthen i need to add stests for the yearly import when yvl has added the ui for that part17:12
aelknerand we should probably have xls export for app and year data as well, right?17:13
aelkneri can start on that right away as i wait for the updates from yvl17:13
th1aSo... another week?17:14
aelknerwell, the timeframe is not exactly up to me as i am dependent on changes from yvl, but a week is about right17:14
th1aI'm not sure why the levels sheet goes per year.17:14
replaceafillaelkner, the mega importer should take you back to /manage after finishing i think17:15
replaceafilli mean, the skills mega importer :)17:15
aelknerreplaceafill, yes, why not17:15
* replaceafill is playing with this new stuff btw ;)17:16
aelkneryvl, can you answer th1a's question, i can't hear it explained too many times myself17:16
yvlit's only logical17:17
yvlbut really17:17
yvlone of the things - is that model is defined per year, so it's structure is also done per year17:17
yvlyou don't want to make changing of the layers IMPOSSIBLE17:17
aelknerperhaps the term, model, is too general17:17
aelknerthe whole schooltool Data.fs has a model17:18
th1aDo you only get one set of levels/nodes per year?17:18
yvlI mean "document model", as we used in sprint17:18
yvldocument model here is "a set of nodes for the year"17:18
aelknerlet's not depend on conversations from the sprint, there is no sin in restating more clearly17:18
yvlI just thought you remembered17:19
yvlth1a, can you clarify your question?17:19
yvlyou get one container of layers and one container of nodes17:20
th1aI mean, it seems to me that a set of nodes/levels might apply to several years (usually will) and you often will have several separate documents per year.17:20
th1aSeparate sets of skills.17:21
yvlthe question is not "usually will"17:21
yvlalways will17:21
th1aBut I guess this just gets back to our standard use of years.17:22
yvlif not always, you must maintain more than one copy, right?17:22
th1aI don't have a strong feeling about this.17:22
yvland if you have to maintain more than one copy,17:22
th1aIt just seemed to me that we were moving away from organizing this by years.17:22
yvlyou probably want to do that per-year17:22
th1aI'll shut up.17:22
th1aaelkner:  Anything else?17:22
aelkneryes, i had a question about FlatSectionsTables sheet17:24
aelknerremember how you had me export the section cell repeatedly in the report sheets export17:25
aelknerso that if they decided to sort, they would not lose track?17:25
aelknernice that we got that released and even got a comment about it from Reimi17:26
aelkneranyway, for the flat sections table, i can make sure the first four cols are always filled17:26
aelkneryear, courses, term, section can all be filled on every row17:27
aelknerbut the rest of the cols do not have a sensible reason for always filling17:27
aelknersection title should only appear once17:27
th1aUh... we don't need to save bits.17:28
aelknerthe students, teachers, resources, and timetable data will depend on how many per section17:28
aelknersave bits?  how do you mean?17:28
th1aWhy not repeat them?17:29
aelknerrepeat them17:29
aelkneri don't know what you mean17:29
aelknerperhaps we should do this by phone after the meeting17:29
th1aI don't see what the advantage of blank space is in this case.17:30
aelknerwell, it will only hold up the other guys if we go down this road in the chat, so...17:31
th1aI guess just do it the way you want.17:31
th1aOK, moving on...17:31
th1aThanks aelkner.17:31
yvlI'm working on node creation ttw17:32
yvlcrude skills/skillsets creation and assignment to courses done17:32
yvltechnically, now we can write a skills gradebook prototype17:33
yvlusing ISectionsSkills(sectoin)17:33
yvlthat collects ICourseSkills for related courses17:33
yvlthat contain ICourseSkillset s, that are worksheets17:33
yvlhope it works :D17:34
* yvl done17:34
* replaceafill is testing it...17:34
th1aThanks yvl.17:34
replaceafilli made the gradebook tabs "ajaxy"17:35
replaceafillthey still unstable, i need to attach some javascript handlers the right way17:35
replaceafillbuy click on the tabs17:35
replaceafilland the page should not reload completely17:36
th1aOh, the grid reloads.17:36
th1aI couldn't figure out why you were worrying about the *tabs* loading.  ;-)17:36
replaceafilli have a question here though17:36
replaceafillwe have some options on the sidebar17:37
replaceafillthat depends on the worksheet17:37
replaceafilllike Add: Activity17:37
replaceafillor Printable Worksheet17:37
replaceafillyvl, i'd like your opinion on this idea:17:37
replaceafilluse JS on those links to get the right url from the form action17:38
replaceafillof the grid17:38
replaceafillseems messy though17:38
replaceafillanother idea i had was to move the Add: Activity link somewhere inside the grid17:39
replaceafillmaybe near the Activity/Points area17:39
yvlor you can return the new rendered sidebar, along with the grid data17:39
replaceafillyvl, ah!17:39
replaceafillrefresh the links!17:39
replaceafilli mean, reload17:39
yvlnot exactly clean17:39
yvlbut would work :)17:40
replaceafillbut cleaner than the JS trickery ;)17:40
replaceafillcool, i'll try that17:40
yvlI was planning on doing something for that at some point17:40
yvllike, default API to return multiple rendered "blocks" and their html ids17:40
yvlas in - please replace contents with these contents17:41
replaceafillah, that would be nice17:41
replaceafillah btw yvl17:41
yvlit would :)17:41
replaceafillis there any advantage on using the ajaxparts machinery17:41
replaceafillinstead of a "regular" viewlet17:41
yvlit handles posts17:41
yvlso if you have more than one "ajax" part in the same view17:42
yvlthat has a form, or wants to act like a form17:42
yvlit submits to those viewlets instead of the main vie17:42
replaceafillright, i followed your table examples for this, which behaves like that17:43
yvlfor example, if you have two tables that need ajaxy sorting ;)17:43
replaceafilla viewlet manager with several viewlets registered for it17:43
* replaceafill checks his notes17:43
replaceafillthe navigators17:43
replaceafillright now, the gradebook overview class has this logic17:44
replaceafillfor redirecting based on the navigators17:44
replaceafillthe left menus for section, term and year17:44
replaceafilli was thinking we could use plain javascript location redirects there17:44
replaceafillinstead of doing form submits17:44
replaceafillless hits on the server17:44
replaceafilland i noticed the Jump To menus on the calendar behaves like this17:45
replaceafillwe just need to place the logic of the view into the viewlets for creating the navigators17:45
yvlsounds ok to me17:46
replaceafillkk, will change that17:46
yvlor maybe I misunderstood you17:46
replaceafilli think you coded the Jump To viewlets :)17:47
yvlit's ok :)17:47
yvlignas did :)17:47
replaceafilli think i'm done17:47
replaceafilli should write my notes better :(17:47
replaceafilldon't understand them on monday morning :(17:48
th1aI think we're all good.17:48
th1aOh, also, I may visit Vilnius around the end of May.  I may be going to Berlin for a Shuttleworth Foundation meeting and probably should swing by.17:48
th1aAlthough Jennifer reminds me that Poland is big.17:49
th1aPresumably I can get a flight from Berlin to Vilnius.17:49
yvlcool, I hope you get the fligh17:50
th1aAnyhow, nothing is definite.17:50
yvl(and yes, getting a flight would be way better than driving)17:50
th1aI'm not going to drive across Poland.17:50
th1aUnless I can rent a tank.17:50
th1aOK, catch you guys Wednesday.17:50
yvlthanks guys!17:51
replaceafillthanks everybody17:51
* th1a drops the bag of gravel.17:51
aelknerthanks guys, cya wed17:51
yvlaelkner, committed -  both st trunk and st cando18:20
yvlhappy coding!18:20
*** replaceafill has quit IRC18:52
*** replaceafill has joined #schooltool18:52
th1aaelkner: ayt?19:15
aelknerth1a, hey22:24
th1aJoe Ucha has some skills for us to test your importer on.22:25
aelknershould we use my demo instance or create one for him as we did for david ally22:26
th1aI suspect yours would be fine.22:27
aelknerok, i'll have to update it to have cando, won't take much22:27
th1aI sent you the sheet.22:29
aelknerok, you know that we will have our standard, directly-mapped import format22:30
aelknerto match our data objects22:31
aelknerothers may represent the information in other interesting ways with stuff that we could even ignroe22:31
aelknerone common option will be to convert one xls file to another, a managable, repeatable action22:31
aelknerand the user will have to run their data through a chain of conversion22:32
aelknerin some cases22:32
aelknercertainly, in this case , at first quick glance, it doesn't match our importer22:32
th1aYes, I know aelkner.22:33
aelknerok, sorry for the obvious22:33
aelknerjust trying to anticipate what we will need22:34
aelkneri'll have to digest the file before writing a converter, again, obviously22:35
th1aOr perhaps just cutting and pasting columns?22:36
aelknerhardly, the cells contain data that needs parsing, ids, descriptions lopped together22:39
aelknerthe dimension of the table is different, with skilllsets as columns22:40
aelknerthat could be interesting as an idea for a supported format22:40
aelknerbut the parsing needs doing, the skillset ids would have to be chosen by auto chooser22:41
aelknerwithout explicit ids, reimport could only be supported via title matching22:42
th1aThey have local ids.22:43
th1ajust make it like 2012-math-1.122:44
aelknerrow one could be the ids22:44
aelknerif they don't mind adding that row22:44
aelknerthen they would have reimport covered for the skillset side of things22:45
aelknerbut the skills themselves have ids within the skillset22:45
aelknerit's a process thing that needs to be defined precisely to work22:46
aelkneri have a suggestion22:46
th1aAre you looking at the math skills?22:46
* th1a is now actually looking at aelkner's import form.22:47
aelkneri've been looking at the sheet you sent22:48
th1aThe math skills sheet is the relevant worksheet.22:48
th1aAre you looking at that one?22:48
aelknerso column A22:48
aelknerCC Standard...22:48
aelknerthat's a skillset title, right?22:49
aelkneroh, sorry22:49
th1aColumn A says "Competency Group"22:49
aelknerlooking at the wrong sheet, one sec22:49
aelkneri was looking at standards, nothing i was saying made any sense :)22:50
aelknerMath Skills has the info we would need, ids for both skillsets and skills22:51
aelknerinteresting using one col for both types of ids22:51
aelknerfunny how xls can be used, note use of empty space helps support tree-like structure22:52
aelknerthat's what i was gong for with FlatSectionTable, sort of22:52
th1aYes, sure.22:52
aelknerbut the idea of repeating the info back on export rather than repeating the empty cells, it depends22:53
aelknerin the case of the report sheets export, each row was a true record, with all keys set22:53
aelknerlike you said, it could be sorted in order, np22:53
th1aWe just have to be more careful about what we export.22:54
aelknerbut in the case of FlatSectionsTable, lke the Math Skills, structure matters22:54
th1aIt is nice to let people import that structure if they want.22:54
aelknerperhaps flat sections table export shold not be supported in the same way22:54
aelkneri can see how you have indicated that not all imports will be end up as exports22:55
*** ignas has joined #schooltool22:55
th1aAnyhow, perhaps you could have a crack at importing these.22:56
aelknerI could write a temporary special Math Skills importer for test purposes22:57
aelknerhere's a thought22:58
aelknerkeeping in mind how our importers do their job by finding the sheets by name22:58
th1aOK, I'll do it...22:58
aelknerplay around with whatever you want to, but don't get married to something that might end up not making sense process-wise22:59
aelkneror, you could let me do it :)23:00
aelkneri was about to suggest that in theory, we could support a two-level tree23:01
aelknerif we had a special mega importer that only accepted a special type of xls23:01
aelknerthat had sheet titles that were skillsets at the root level of the tree23:02
th1aHow's that?23:02
aelknerand then the sheets would have format matching that of the Math Skills sheet in the example23:02
th1a(I mailed you a sheet)23:02
aelkneri'm looking at the google doc version of the xls, i could download it to make sure23:03
aelknerok, it's same as i would expect23:03
aelknerit has different sheets that have different format for the data, so what i was about to suggest is not for that file23:04
aelkneri theory the file could have sheets that have only the same format as the Math Skills sheet23:04
aelknerthen, each sheet would be at the same level as Math Skills, the root level23:04
aelknerthen within each sheet, you would have the sub goups, under them comps (old terminology)23:05
aelknerremember, the old cando has a tree of comp group containing comp group, down to comp23:05
th1aSo... would what I just sent you work?23:05
aelknerwhy the heck are all the sheets in different formats, have you noticed?23:06
aelknerand the parsing would have to be very specific23:07
aelknerreally, the best way to handle this file is to not support it in schooltool at all23:08
th1aaelkner, We care not a whit about any other than the math skills.23:08
aelknera converter, can be a command line python process, could convert it23:08
aelknerinto another cls that could be imported by schooltool23:08
th1aaelkner, I think I just did it with copy/paste in 5 minutes.23:08
aelknercan you send me the importable file?23:09
th1aUh... did you get my sample_global_data file?23:10
aelkneri'm looking at the B2T_math_skills.... xls file from your email, what other file?23:11
aelknerah, sorry, had the other email open, didn't see the new one23:12
aelknerok, so you need a SkillSets sheet23:12
aelknerin there, one row per skill set, it, Title, external id (not in this case), label (not useful)23:13
aelknerthen, you need to use the id in the Skills sheet, not the title23:13
aelknertitles are changable by the user, typos, important change or other nature, ids are keys23:13
th1aOK... you can do that too.23:14
aelknerbut you see it is not cut and paste23:14
aelknerat least not as a process thing23:14
aelkneranyway, i'm guessing you just want to pretend we wrote the converter and manually edit this file23:15
th1aaelkner, you just need to rearrange your brain cells a bit.23:15
aelknerbtw, aren't you choice for the skill titles as long as descriptions?23:16
aelknerwhat would the description column be for?23:16
aelkneri guess we never really used them?23:16
th1aThis is you testing how the vast majority of users will use the default importer.23:17
th1aNot how programmers will write new importers.23:17
aelkneri just looked at the old xml file, comps don't have descriptions23:18
aelknerregarding testing how users use importers, different users want different things23:22
aelknermany assume titles can be used as ids, even though that is not gong to make them happy when they want to change the title23:23
th1aWe're providing an xml template so they can cut and paste stuff into it.23:23
th1aIf they don't have meaningful id's to start with they aren't going to be that concerned about them.23:24
aelknerthe old cando has xml import, the new one hasn't gone there yet23:27
th1aWe're using the spreadsheets you're writing.23:27
aelkneri wold think that in virgina's case that once they understand how our import works23:28
aelknerthey would programatically create the input file as they did the xml file in the old cando23:29
aelknernow perhaps we will be able to do that from their web site, i realize that23:30
aelknerbut in either case, it will be a programmatic conversion into our xls format23:31
th1aThe idea is that they will use our xls format.23:32
th1aThat's the format.23:32
aelkneri'm focused on getting an import working that is definition sound, repeatable, with matching export23:32
aelkneras far as converting their data, i would recommend waiting until we have our stuff ready23:33
aelknerwe still have ui stuff that needs to be used to automate test the imports23:33
aelkneryvl just added a reference of nodes to skillsets, so i need to digest that and update the importer23:34
aelknerbut i have the file you gave me for now, so i will keep it in mind23:34
aelknerbut let's hold off on any demo, ok th1a?23:35
th1aWell, I don't know, because it isn't really clear that you understand what we're trying to do here at all.23:35
th1aThis should be an easy cut and paste and a little manual tweaking conversion.23:36
th1aThis is the way most people are supposed to use the system.23:36
th1aThis should take about a half hour to finish, right?23:37
aelkneri only know the way one customer has used the old system, that guides my thinking about use cases23:38
th1aThis is what I'm trying to break you out of aelkner.23:38
th1aThat's the point.23:38
aelknerin their case, they went through the trouble of providing us an xml file, programatically23:39
aelknerthat was ideally structured to be importable23:39
th1aYes, we're not doing that anymore.23:39
th1aWe're done with that.23:39
aelknerok, i'm listening23:39
th1aThat's why we're using a spreadsheet.23:39
th1aSo that people can cut/paste and tweak their data manually.23:40
th1aAs in this case.23:40
aelkneri think you have a fantasy spreadsheet in mind, one that makes all the right assumptions at the right time23:40
th1aaelkner, I have in mind the spreadsheet that you wrote.23:41
th1aThat I took the data from another spreadsheet and cut and pasted into.23:41
aelknerwell, not exactly23:41
th1aAnd as far as I can tell to finish it the skillset id's need to be converted to id's (not hard) and the node/level sheet has to be written.23:41
aelknerwhat you did would import23:41
th1ahuman intervention aelkner.23:42
aelknerbut you also need to do the SkillSets sheet23:42
th1aWhy don't you have a crack at that yourself.23:42
th1athe skillset id's can just be numbers.23:42
aelknerwhy don't we talk on the phone because i'm finding what you are saying hard to follow23:42
th1a1, 2, 3, 4...23:42
aelkneryour home line?23:44

Generated by 2.15.1 by Marius Gedminas - find it at!