IRC log of #schooltool for Monday, 2012-03-19

*** alga has quit IRC01:07
*** aks has joined #schooltool04:47
*** aks has quit IRC04:56
*** aks has joined #schooltool04:56
*** yvl has joined #schooltool09:45
*** intellisms has joined #schooltool10:21
*** intellisms has quit IRC10:24
*** menesis has joined #schooltool10:48
*** yvl has quit IRC13:32
*** intellisms has joined #schooltool14:05
*** intellisms has quit IRC14:20
*** aks has quit IRC14:29
*** th1a has joined #schooltool14:31
*** aks has joined #schooltool14:31
*** aks has quit IRC14:36
*** yvl has joined #schooltool14:46
*** replaceafill has joined #schooltool15:25
th1ahi replaceafill, yvl, aelkner, menesis.15:30
replaceafillgood morning/afternoon15:30
yvlgood morning15:30
th1aWe've got a Vilnius/Melbourne/Providence hangout scheduled for tonight/tomorrow.15:31
th1aSo the attendance thing is marching forward quickly.  menesis is going to be working on it.15:33
th1areplaceafill:  Would you like to start with your testing additions?15:33
replaceafillyvl, thanks for the merge15:34
replaceafilland the review ;)15:34
replaceafillbtw, did you see my comment in the email to the dev-list about mock?15:34
yvlfixing now15:34
replaceafillah, cool15:34
yvlthanks for your work replaceafill!15:34
replaceafillso, i added a bunch of selenium extensions15:35
yvlit all looked good, so I just merged it :)15:35
replaceafillthat i think it will help us to write tests15:35
replaceafilli also added a couple of selenium "element" extensions15:35
replaceafillone to select options from menus15:35
replaceafilland one to set values on fields without caring much about the type of the field15:36
replaceafilland i documented everything i did in the schooltool/testing/README.selenium.txt file15:36
replaceafillfor future references15:36
replaceafilli think we should keep it updated, if we keep adding more extensions, please add their parameters there15:37
replaceafillso we all know how to use them15:37
replaceafilli also created a new helper to print the gradebook15:37
replaceafillwhich i'm going to convert also into a selenium extension15:37
replaceafilland will probably will create some others, for instance to create activities easily15:38
replaceafill(in the gradebook)15:38
replaceafillall of this is for writing new tests for the gradebook15:38
replaceafilli want to make sure i dont mess the calculations :)15:38
replaceafilli also found a couple of little issues in some forms while i was doing this15:39
replaceafilllike the person add form not saving the advisor value15:39
replaceafilland i fixed them15:39
replaceafillah, and there are lots of tests for the extensions15:40
*** menesis has quit IRC15:40
replaceafilljust look for the selenium_extensions.txt file in some packages15:40
replaceafillbasicperson, course, schoolyear, term15:40
replaceafillbut the .txt file is easier to understand i think15:40
replaceafillhhmm i think that's it15:41
replaceafillth1a, so i'll continue with my gradebook tasks15:42
th1aOK.  Sounds good.15:42
th1aThanks replaceafill.15:43
aelkneri worked on a number of small bugs15:46
aelknerfor starters, the tabs that were not getting highlighted now are15:47
aelknerfeel free to poke around as manger user:15:48
aelknerin the meantime, i also worked on the bug for listing relationship types in intervention views15:49
aelknernow all people listed in the views will have (some relationship type) after their name15:50
aelkneri would need a moment to set up test data on that instance to demonstrate that15:50
aelknerperhaps we could look at that after the meeting15:51
th1aThe relationship types?15:51
th1aI just looked at it.  Seems fine.15:51
aelkneri wanted you to see a view with all types shown, including (administator)15:52
aelkneri chose to show that the user was an advisor over the fact that they were an administator15:52
th1aOK... you can set it up for me if you want, but it seems pretty straightforward.15:53
th1aYes "advisor" is more important than "administrator."15:53
aelknerhow about teacher?15:53
th1aAdvisor is the more important thing.15:53
aelknerok, i just noticed that i need to switch the order of the if statement to make that so15:54
aelkneri'll do that real quick before showing you the example15:54
aelknerin the meantime, i looked into two more bugs15:55
aelkneri have a number of questions for that one15:55
aelkneryvl, thanks, btw, for the flourish version of LoginDispatchView15:56
aelknerwhich you just added to trunk, i'll add my code there15:56
aelknerthe questions i have are regarding what to do when all tabs are hidden15:57
aelknerok, backing up a second15:57
aelknerthe idea is that right now logging in goes to the calendar view15:57
th1aWe should probably not allow hiding all of them.15:57
aelknerok, that helps with that problem15:57
th1aI mean, there is no reason to do so, right?15:58
aelkneri don't have a use case for hiding all15:59
*** aks has joined #schooltool15:59
aelknerso for the server tabs view, how would you like the user to choose the default login tab16:00
aelknera drop-down after the table?16:00
aelknerlabeled 'Login tab'?16:00
th1aaelkner makes me laugh.16:00
aelknerand, if so, the contents of the dropdown should be limited to those that are currently visisble16:01
aelknerth1a, i'm being serious, so your laughing is incidental to my intentions16:01
th1aIt makes sense except for "Login tab"16:01
aelknerwhat would make better sense than that then?16:02
th1aWell, if you were trying to explain to someone what this menu selects, what would you tell them?16:02
aelknerthe default view that comes up when the user logs in16:03
aelknerbut that's a sentence, not a form label16:03
th1aI think "Default View" is a lot better than "Login Tab"16:03
yvlor 'Default'16:03
aelknerok, and the reason i asked about the drop-down is that it could be done as a radio button in a new column16:04
aelknerin the table above if you'd like16:04
aelknerwhat do you think?16:05
th1aI was thinking that, but it just depends on what's the smoothest to implement.16:05
aelkneri already started doing the drop-down, so at this point that wold be smoothest16:05
aelknerbut if you'd prefer the radio button column, i could do that16:05
th1aIt is going to be a little weird either way.16:06
th1aThis might be better with two forms on one page so that you aren't having to manipulate the menu at the same time you're selecting tabs.16:07
th1aThis is not a high volume view.16:07
th1aClear and clunky is fine.16:07
aelkneri coded the drop-down (not pushed to test instance) to only include visible tabs16:08
th1aThat is, compared to, say, hiding the current default tab, which removes it from the menu, which causes the menu to pick something arbitrarily, which we then silently keep when the original tab is added back in.16:09
aelknerah yes, well phrased16:09
th1atbh, I don't have strong feelings about how the form should work.16:09
aelkneryou just expressed a concern that i had about that type of behaviour16:10
aelknerabout what to do if they hide the default tab16:10
th1aYeah, we should probably avoid that entirely by just having two forms.16:11
th1a(on one page)16:11
aelknerhow does having two forms obviate the scenario you just mentioned?16:11
aelknerif the user has Home as the default tab16:11
th1aYou can only change one form at a time.16:11
aelknerstill they can hide Home16:11
aelknerare you saying that we are to change the default to something arbitrary16:12
th1aAh, well, I guess keep them from hiding the default view.16:12
th1aOh, this view is a pain in the ass.16:12
aelknerwell, the feature is neat, but it does have complexities in its implcations16:13
th1aWell, it is easy enough to just not allow the user to do the wrong thing, it is just a little complicated because they can do the wrong thing two different ways.16:13
aelknershall we discuss this more post-meeting?16:13
th1aMaybe we just separate these.16:14
th1aaelkner:  Yes, probably.16:14
aelknerok, last thing16:14
aelknerfirst of all, i went to set up the test data that exposes the bug, and i had pdf issues16:14
th1aOf what sort?16:15
aelkneri figured out that i had to do make ubuntu-environment to get the ubuntu-family truetype fints16:15
aelknerbut has anyone dne a pdf since the changes to add that font family16:15
replaceafilli've done the pdf with the id cards16:15
replaceafillaelkner, was your instance created "before" you pulled the changes?16:16
replaceafillthen you need to make the configuration change in schooltool.conf16:16
replaceafillyou can run16:16
replaceafillbin/make-schooltool-instance instance16:16
replaceafillto update your configuration16:17
aelknerwhat config change?16:17
replaceafillaelkner, the ubuntu font was added to the fonts directory16:17
replaceafillwe only had the liberation fonts there16:17
aelknerthe change to add the ubuntu fonts directory seems to already be there, so that's not the issue16:17
replaceafillreportlab_fontdir /usr/share/fonts/truetype/ttf-liberation:/usr/share/fonts/truetype/ubuntu-font-family16:17
aelknerno, i already had that16:18
aelknerUbuntu-RI.ttf was not downloaded16:18
aelknerinstead there was just Ubuntu-I.ttf16:18
replaceafillaelkner, you're on lucid?16:18
aelknerso i copied the one to the other16:18
aelkneryes, lucid16:19
replaceafilli had to do the same in the vps16:19
aelknercopying the file as i suggested?16:20
aelkneroh, ok, but that's a bug, right?16:20
aelknershould we change to look for the right file instead?16:20
replaceafillwell, we should ask menesis, because i think oneiric+ users should be fine16:20
replaceafillaelkner, the problem is that the files in ubuntu fonts have changed16:20
replaceafilland i listed the ones in oneiric16:21
replaceafillwhich is what flourish is produced for16:21
aelknerthat sucks that they changed the files like that16:21
replaceafillbut i agree, it becomes a dev issue16:21
aelknerwe would need to have different versions of that tabl;e in, wouldn't we16:21
replaceafillyes, we could make that routine smarter16:21
aelkneri'm ok on my machine just having copied the file16:22
th1aPresumably menesis handles these changes in the packages.16:22
th1aThat's why users use packages.16:22
aelkneri'll have to ask him about that16:22
th1aDevelopers either have to keep their OS updated or figure these things out as they happen.16:22
aelkneranyway, i resolved the problem on my machine so that i could proceed16:23
aelknerso i was able to reproduce the bug by creating journal data for three different periods16:23
aelknerand the period columns did come up randomly as the user's bug suggests16:24
aelkneri can fix that by making the columns alphabetically sorted16:24
aelknerwould that suffice?16:24
aelkneri mean, at the point of having the table that i build, the meeting times are gone16:25
aelknerso sorting by meeting time is not available16:25
aelknerbesides, meeting times have days in them, so the time itself is not suffucient16:25
th1aI'd imagine it is fine.16:25
aelkneralphabetical, you mean?16:26
th1aIt sounds like that's the only option.16:26
aelknerok, i'll do it that way16:26
aelknerthat's it for me then16:26
yvlyou could also try sorting by school timetable at that day - if available16:26
aelkneryvl, are you the author of guessPeriodGroup?16:27
yvlwhat now? :)16:28
aelknerbecause i don't remember writing that16:28
th1aTo be honest, this kind of discussion is pointless if you don't show me what we're talking about.16:28
aelknerthere's an XXX comment there16:28
aelkner# XXX: this is a quick fix, evil in it's own way16:28
replaceafillmost evilness comments i've seen come from yvl :D16:28
yvlyes, I am16:28
aelkneri just seems that keeping the timetable day in mind would be tricky16:29
th1aWhy don't you show me what we're talking about after the meeting...16:30
th1aAnd we'll move on to yvl.16:30
yvlyou can sort by title as far as I16:30
yvlI'm concerned :)16:30
aelknerok, sorting by title16:30
aelkneri'm done16:31
yvlso, made some progress16:31
th1aJust let me see it.16:31
th1aThanks aelkner.16:31
yvlI have trouble remembering who is going to implement the views for the document model16:31
* yvl is probably blind, but can't find those tasks in planner16:31
yvlso my questions are16:32
yvlshould I implement import now?16:32
yvlshould I implement at least some views to look at doc model now?16:32
yvlshould I implement TTW creation of model?16:32
yvlshould I implement TTW creation of model levels?16:32
yvlth1a? :)16:33
th1aThere is an "Awesome skills browser" task surprisingly far down the road.16:33
yvlah, that16:33
th1aYou should do as little of the above as practical.16:34
yvlso I won't have stuff done this Wed likely16:34
th1ai.e., if you just want to write a little script that generates a fake skill tree, fine.16:34
yvlbut I should have that done next Mon16:34
th1aBut yes, the basic idea is that doing those views for real comes later.16:35
th1aWe really are trying to skip to having a gradebook prototype as quickly as possible.16:35
th1aSo think of what you're doing now in that way -- you're doing the back end for the test gradebook and everything else will be dropped in later.16:36
th1aIf that works, we've got the big risks behind us at the beginning.16:37
yvlI'll email replaceafill (and you) as soon as I have usable stuff done16:37
replaceafillyvl, the black magic fixes worked, all the tests run fine now, thanks16:38
yvlfor now! :D16:39
yvlthanks a lot for testing!16:39
replaceafilli'll find a way to break it :P16:40
yvlI'll find a way to fix it :P16:40
th1aOK, thanks yvl.16:40
th1aI guess we've lost menesis.16:41
th1ayvl: Who should I expect on the chat tonight?16:41
yvlLaurynes, Gediminas and me16:41
th1aOK.  Good.16:42
yvlth1a, menesis just arrived @ office16:42
yvlhe'll be online in 2-3 mins16:42
*** menesis has joined #schooltool16:43
th1aI learned how to draw svg hexagons last week.16:43
yvlcongrats :)16:43
th1aDrawing hexagons fits into that category of things which seems like you should be able to find an explanation on the web, and you spend too long looking for it until just trying it and realizing it is so simple there is no point in writing a howto on the subject.16:44
th1aYou just have to remember, oh yeah, six equilateral triangles.16:45
*** menesis has quit IRC16:46
*** menesis1 has joined #schooltool16:46
*** menesis1 is now known as menesis16:46
*** menesis has quit IRC16:47
*** menesis has joined #schooltool16:47
menesisth1a: hi16:48
menesissorry I'm late16:48
menesisforgot about time change16:48
menesison Friday, I fixed remaining failing tests16:50
menesisand support for searches involving " and *16:50
*** aks has quit IRC16:50
menesisthat had tests16:51
menesisso prepared for release16:51
menesisbut ran out of time16:51
menesishave not worked over the weakend16:51
menesiswill finish the release tonight16:51
menesisand then as I understand I have to start16:52
menesisworking on barcode stuff16:52
th1aMake sure and send me and/or the list an announcement.16:53
menesisI'll send you16:54
th1aAnything else?16:56
th1aOK, thanks menesis.16:58
th1aI'll see menesis and yvl tonight.16:58
th1aaelkner, Let's pick this up at 11:15.16:58
replaceafillbtw guys were you aware of this "quirk" in selenium? if an element is not visible its *.text returns ''17:00
th1aOK, thanks guys.17:01
* th1a drops the bag of gravel.17:01
* th1a goes to get a bagel.17:01
yvlthanks guys17:01
replaceafillthanks everybody17:01
aelknerthanks guys, cya wed17:04
th1aReady aelkner?17:15
aelkneryou start17:18
th1aI'm thinking the whole-assed solution to the hiding/default tab problem is no harder than the half-assed ones.17:19
th1aSo I think just one table with checkboxes and radio buttons is probably best.17:19
th1aUsing Javascript to make the wrong choices impossible.17:19
th1aSo you can't hide the default view, and you can't make a hidden view default.17:20
aelknerand you can't hide the last remaining view17:20
aelknerthat sounds like a thorough definition of that area of the task17:21
aelkneras for the views17:21
aelknerpresumably, for gradebook, journal, intervention, we want the login redirect to go to the tab17:21
aelknerbut for Home, it's the calendar view instead, right?17:22
aelknerhitting the Home tab does not go to calendar, goes to user page instead17:22
aelknerfunny how the Home tab is highlighted for the calendar view17:23
aelkneralthough you can get there from Home page, so never mind17:24
aelkneri just thought it would do to go over the Home/calendar situation to allow you to decide17:25
th1aWell, it is kind of screwed up.17:25
th1aFor now just let them chose "home" or "calendar" even though "calendar" is not a tab.17:26
aelkneri'll just go with Home (what the tab is now titled in the view anyway)17:26
aelknerand go to the caledar view17:26
th1aMake one choice "Home" and go where it goes now,17:27
th1aand one choice "Calendar" which goes to the calendar.17:27
aelknerwe're talking about a row in the table titled Calendar, though there is no tab for that17:28
th1aThat's ok.17:28
aelknerHome is not hard-coded into the view, it comes from the adapter lookup o fhte header nav viewlets17:28
aelknerso the lookup yields Home, but not Calendar17:28
aelknerit's kind of mixing apples and oranges17:28
*** yvl has quit IRC17:28
aelknerpossible, just tricky, and perhaps confusing to the user17:29
aelkneri'd suggest perhaps having a home preference17:29
th1aThis is a classic situation where I don't know what you're grappling with zope-wise.17:29
th1aAs far as I'm concerned both "Home" and "Calendar" make sense.17:30
*** yvl has joined #schooltool17:30
th1aIs that a pain to implement?17:30
aelknerit's not zope so much as how the view needs to be able to be table driven17:30
aelknerwe can add tabs in the future17:30
aelknerand the view shouldn't need to change17:30
aelknerit does that by depending on the tab lookup17:30
aelknerthat's where it gets the titles, too17:30
aelknerit keeps everything matching automatically17:31
th1aWell, should we just add Calendar as a tab now.17:31
th1aThen everything is consistent?17:31
aelkneradding Calendar as a tab is an elegant solution, as long as you like having the tab17:31
aelknerthe'l be able to hide it, so...17:32
aelknerwhere should it sort, after Home?17:32
aelknerbut before the plugins, of course17:32
aelknerHome Calendar Gradebook Journal Intervetion17:33
aelknerthat kind of solves a number of older issues, doesn't it17:33
th1aMaybe we don't even care that much about whether or not the default view has a tab, since that's the current situation!17:33
th1a(not having a tab)17:33
aelkneri prefer your original assertion that we can protect against it17:34
th1aOK, so just do it that way.17:34
aelkneralways having a tab higlighted is a good standard17:34
aelknerso a column in the table called Default17:35
aelknerand a radio button in that column17:35
aelknerit's easier to implement if you are ok with submit on change17:35
th1aI guess so.17:36
aelknerin the case of the checkboxes, to hide/unhide, auto submit makes a lot of sense17:36
aelknerbecause te user then sees the tab appear/disappear17:36
aelknerbut, not doing the same wth the radio button means adding a Submit button17:36
aelknerwe could go that way, in case i'd recommend getting rid of the auto submit for the checkboxes17:37
aelknerauto submit saves the user a submit step, but the question is when to do it17:37
th1aJust make it consistent within the form.17:38
aelknerfor instance, in the gradebook, we definitely decided to do it there17:38
th1aRegular forms should mostly use Submit.17:38
aelknercurrently, Worksheets and Course Worksheets views also auto submit17:39
aelknershould we nip this in the bud, so to speak?17:39
aelkneri mean, add Submit to Server -> Tabs17:39
th1aI don't like the auto-submit in regular forms for the most part.17:40
aelknerand backport that user experience to Worksheets and Course Worksheets17:40
th1aWe don't need to run in circles correcting it though.17:40
aelknerok, so no back port17:40
aelknerbut do change Server -> Tabs17:40
aelkneri could just add the Submit button there and call it at that17:41
aelknersounds like a plan17:42
aelknerso, setting up a test for the pdf period order17:43
aelknerone minute more17:43
aelknercrap, he problem is related to arbitrary dictionary sort, so can't predictably cause the error17:47
aelknerhowever, we can look at the same report at least17:48
aelknertry this:17:48
aelkneras  manager,
aelknerclick the Absences By Day report, hit Download, i set up data for today17:48
aelknerunfortunately, due to the randomness of dictionary hashing, the data is coming out sorted17:49
aelknerbut imagine it wasn't17:49
aelkneri can make the change to do it alphabetically17:49
th1aThe only other way to do it is to sniff what kind of timetable it is.17:49
th1aAnd have different rules for different kinds of timetables.17:50
aelknerright, which is more involved17:50
th1aJust make it alphabetical and move on.17:50
th1a(see... it saves time when you show me the view)17:50
aelkneri know, it just takes time to type here and set up the test17:51
aelknerbut it's cool17:51
th1aYeah, I know that too.17:51
aelknerso, those are two helpful decisions for closing those two bugs17:51
aelkneri think i know what i need to do for both now, thanks17:52
th1aOK.  Thanks aelkner.17:52
aelknerand adding the Calendar tab is an interesting decision17:52
aelknercleans up old issues, so that's good17:53
th1areplaceafill:  I just assigned a bug to you that we should review soonish.18:21
replaceafillth1a, checking...18:38
replaceafillhhmm havent received it yet18:39
replaceafillhave never seen it :)18:40
replaceafilli thought the cookies were enough for that case18:40
th1aI don't know.18:41
th1aWe could try to find out whether there are certain exact views.18:41
th1aMostly though we should double-check our headers I think.18:42
replaceafillCache-Control: public,max-age=8640018:43
replaceafillah, but that's a file resource18:43
th1aI'm sure it is a bit involved.18:43
replaceafillCache-Control: private, max-age=8640018:45
replaceafillfor /manage18:45
replaceafillbut this is plain paster18:45
replaceafillbeing behind apache could override this behaviour18:45
replaceafill(i think)18:45
th1aI'm sure it COULD.18:45
th1aApache can do anything.18:45
replaceafillth1a, maybe we should ask the user about giving details on his web server setup?18:50
replaceafillat least if he's behind something else than paster18:50
th1ado you have google chat?18:51
th1aOf course.18:51
*** ignas has joined #schooltool18:51
th1aCan you get online for that?18:51
replaceafilli'm logged in18:52
replaceafillyou mean get on google chat?18:52
th1aDo you need to turn chat on or something?18:53
replaceafilllet me log out/log in again18:53
replaceafillim using pidgin18:53
replaceafillbut i see matt, filip, etc18:53
th1aCan you just do it through the web?18:54
replaceafilllogged in through the web18:55
th1aI don't see you in my sidebar.18:56
th1a(for GMail)18:57
replaceafilland i dont see you18:57
yvldo you guys have a chat circle in g+? :)19:05
th1aI was beginning to think it would be easier to get a video chat going than text.19:06
*** yvl has quit IRC19:23
* replaceafill likes to test http headers better with python19:36
*** ignas has quit IRC19:37
*** yvl has joined #schooltool19:38
th1aI don't think there is anything we can do in the short run.19:42
replaceafillit's hard without being in front of it19:42
replaceafillwe're not setting cache control on private pages19:55
replaceafill(i think) :/19:55
replaceafillalthough i think the Agent: being Python-urllib affects that :(19:56
* replaceafill tries to set headers19:57
replaceafillwe do for resources apparently:
th1areplaceafill:  Did you come to any conclusion on that?21:06
yvl25 minutes remaining21:35
yvl(your friendly reminder ;) )21:35
th1aYes... I was just wondering.21:38
th1aI nearly spaced out!21:38
yvlyou have us all in your circles21:38
yvlso we'll wait for your invite21:38
*** intellisms has joined #schooltool22:01
th1aDid you get an invite?22:01
th1aYou can't hear me, right?22:02
th1aMic problem.22:02
th1aAdam seems to be offline.22:02
th1aIt is me.22:02
*** ignas has joined #schooltool22:38
*** replaceafill has quit IRC23:08
*** replaceafill_ has joined #schooltool23:09
*** replaceafill_ is now known as replaceafill23:09
*** alga has joined #schooltool23:22
*** intellisms has quit IRC23:26
*** menesis has quit IRC23:27
*** alga has quit IRC23:55
*** intellisms has joined #schooltool23:59

Generated by 2.15.1 by Marius Gedminas - find it at!