IRC log of #schooltool for Monday, 2010-07-26

*** alga_ has quit IRC02:39
*** alga has quit IRC02:39
*** Lumiere has quit IRC05:48
*** Lumiere has joined #schooltool06:20
*** Lumiere has quit IRC06:40
*** Lumiere has joined #schooltool06:41
*** yvl has joined #schooltool09:23
*** menesis has quit IRC11:00
*** menesis has joined #schooltool11:50
*** mgedmin has joined #schooltool12:12
*** Aiste has joined #schooltool12:34
*** menesis has quit IRC12:47
*** menesis1 has joined #schooltool12:47
*** menesis1 is now known as menesis12:47
*** alga has joined #schooltool13:22
*** alga_ has joined #schooltool13:22
*** Aiste has quit IRC15:07
*** Aiste has joined #schooltool15:12
*** Aiste has quit IRC15:58
*** replaceafill has joined #schooltool16:01
*** th1a has joined #schooltool16:24
th1aGood morning yvl, menesis, replaceafill, aelkner, Lumiere.16:31
yvlgood morning!16:31
replaceafillgood morning/afternoon16:32
th1aSo I spent an interesting afternoon digging into RapidSMS.16:33
th1aOn Friday.16:33
th1aThat's the UNESCO project to create a framework for SMS based apps for the developing world.16:34
th1aI think that potentially we could use it to create a Django based app to aggregate data from multiple SchoolTools.16:34
*** alga_ has quit IRC16:34
*** alga has quit IRC16:34
th1aOr at least it would be good for prototyping one.16:34
th1aIn the meantime, reading their internal development discussions in their mailing list was interesting.16:35
th1aLots of things we can relate to.16:35
th1aYou might enjoy:16:35
* Lumiere is wondering why add another environment to the ST architecture?16:35
th1aLumiere:  Nothing has been decided, but since this application would just aggregate and report data, it wouldn't share a lot of code.16:38
th1aAlso, the reasons against using ZODB would be even stronger in this case.16:38
th1aYou'd really rather have all those national statistics in tables.16:39
th1aBut anyhow, the tl;dr of the above is they're in the middle of a major refactoring which will allow you to do exciting things16:40
th1alike run unit tests.16:40
th1aSo there is no screaming rush.16:40
th1a(if those hairy URLs above even work for you)16:40
th1aIn other news,16:41
th1aAlan and I visited SLA on Wednesday,16:41
th1aand basically, we're having an amicable parting with them.16:41
th1aI sent them an email saying, we need to figure out what needs to be squared away before we start ignoring you for an indefinite period of time,16:42
th1aand they said, well actually, we're writing our own SIS now in PHP.16:42
th1aSo... that's a little discouraging, but we've got to keep our focus on the developing world now anyhow, so it is ok.16:44
yvlwhat were the main reasons?16:44
th1aWell, they want to integrate course management and content creation (e.g., Google Apps)16:45
th1ainto one system that works together nicely.16:45
th1aAnd there just aren't protocols for doing so across applications.16:45
th1aAnd Chris (the principal) is a PHP programmer, and Chris (the tech guy) is a PHP programmer.16:46
aelknerthat's your main reason right there16:46
aelkneralso, they didn't lke that they couldn't inspect schooltool data like an sql table16:47
th1aAnd they've got this weird (weirder than I had realized) relationship with Chris (the tech guy) where he's also got a successful web development shop going and SLA is kind of his hobby for 40 hours a week.16:47
th1aThey're just used to SQL.16:47
th1aLike every other programmer in the universe.  ;-)16:47
th1aBut anyhow, they actually have the capacity to do a pretty big project with local resources.16:48
th1aInteroperability is the big sticking point.16:48
th1aAs always.16:48
aelkneryou can be sure they will have on app writing into sql tables of aother app16:49
th1aNot necessarily.16:49
aelknerpretty much like i was trying to do with moodle integration16:49
th1aBut anyhow.16:49
th1aThese things and other recent events have inspired me to come up with a new SchoolTool strategy document to send to Mark with the next batch of invoices.16:50
th1aWhich you will probably appreciate as well.16:50
yvlcan you roughly outline it now?16:51
th1aWhich will basically focus on "SchoolTool as SIS appliance for the developing world."16:51
th1aThat's pretty much it.16:51
th1aMore that, less everything else.16:51
yvlsounds interesting16:52
yvlis it a long term strategy, or..?16:52
th1aWell, it is the niche where we can be successful in the medium term, at least.16:53
yvlmore like "two years and then we'll see" or "indefinitely"?16:53
th1aWe'll see what?16:53
th1aIf we can do more?16:53
yvlhmm, I think you answered my poorly formulated question already :)16:54
yvljust ignore it.. :)16:54
th1aIt isn't a change of direction from what we've been doing, just making it more focused and starting to more clearly articulate that as our message.16:55
yvlI got that correctly then :)16:56
th1aOK, enough chatter from me.16:56
th1ayvl:  What have you been up to?16:56
yvlI'm writing the ZODB exporter now16:57
yvlscope of it grew somewhat, but the stuff is going to be useful for me later on16:57
yvlbasically, it's an XLS exporter for 0.11.4 database16:57
yvlthat does not use any of ST code16:57
yvland no Zope except for ZODB16:58
replaceafillyvl, nice script the one of the broken objects :)16:58
yvlthanks, replaceafill16:58
replaceafillyvl, i learned a few tricks from it ;)16:58
yvlwell, the exporter is based on a similar thing16:58
yvlI'm done 65%16:59
yvlor something16:59
yvlah, and it works on newer Ubuntu versions of course16:59
yvl(it'll probably work on anicent ones also)17:00
th1aWhat data objects does it work on?17:00
yvlat the moment - person records, sections, courses, terms17:01
yvlbut technically I don't care that much what to extract17:01
yvl(still, at those times there wasn't a lot of data, like you said)17:01
yvlI forced 0.11.4 to run on Karmic, by the way17:02
th1aYeah, for this specific case, we don't need to get a lot out.17:02
th1aSo don't go crazy.  ;-)17:02
yvlI'm trying to resist17:02
th1aWhen you're done with that back to timetables?17:02
yvljust I'll need some of the stuff for evolution later on (likely)17:02
yvlone more thing about this17:03
yvlif we need to populate SQL databases or export data in some way17:03
yvlthis approach is a viable option17:04
yvlI mean - just using the database code17:04
yvland loading in python what we need17:04
yvlit's a bit scary, but useful17:04
th1aIt is definitely something that is good for us to have experience with.17:05
th1aMakes me feel more confident.  ;-)17:05
* yvl too, actually :)))17:06
yvlwell, that's my status report for now17:06
menesisyes, hi.17:07
menesisI was busy with schooltool releases first few days17:07
menesisbackported a lot of bugfixes to the 1.0 series17:08
menesisi.e. for hardy17:08
menesisdiscovered a couple of bugs in xls import17:08
th1aYes.  We have to refuse to do that again.17:08
th1aLucid or bust!17:08
aelknerxls import bugs?17:09
menesiswasted a day or two fixing it and redoing releases17:09
replaceafillth1a, is it possible to "officially" drop support for older versions?17:09
replaceafilljust curious :)17:09
menesiswell, what is support?17:09
replaceafillmenesis backporting stuff17:10
menesislast time I made releases for Hardy was in March17:10
menesisFebruary, rather17:10
menesisaelkner: your importer_fixes branch introduced a bug and was missing some error texts17:10
th1aWell, technically we only need to do security fixes as support for old versions, right?17:11
menesisI exported everything, imported back, and all Persons were broken because it was reading birth_date as text, not date.17:11
th1aOr major bugs.17:11
aelknermenesis, is your diff in trunk already?17:12
th1aWe don't have to keep them compatible with future plugins.  ;-)17:12
menesisaelkner: yes. or,
aelknermenesis, thanks17:13
menesisI've updated release notes in the book, sent announcements..17:14
menesismoved on to other things, preparing to upgrade trunk to newest zope packages from bluebream 1.0.17:15
menesisfixed a bug in python-central..17:16
menesiswill start updating zope packages for maverick17:16
aelknermenesis, i see you had to bump the number of xls errors displayed to 25 for testing17:16
menesisaelkner: yes, is that bad?17:17
th1amenesis:  Excellent news!17:17
aelkneri wasn't sure what number would be appropriate there17:17
aelkneri figured too many would mean the user would have to scroll down to get past the errors17:17
aelknerand see the rest of the form, so i wasn't sure what number was appropriate17:18
aelkneri guess 25 is ok though17:18
menesisyes, too much is not needed17:18
menesisbut I have added two more tests cases to the XLS file and could not find why the last error disappears for a few hours17:19
aelkneryeah, that part of your diff left me wondering17:19
aelknermenesis, i don't get your change to test_all.py17:21
aelkneri thought i did that already17:22
aelknerto get it to pick up the txt files?17:22
menesisit was like that before, because export/import tests are slow17:23
menesisso are not run by default17:24
aelknerhow then?17:24
menesisto get those tests run, use bin/test --at-level 217:24
aelknerooh, gross17:24
aelknerhow amy i going to remember that?!17:25
yvlmake testall17:25
yvlsame thing17:25
th1abash alias?17:25
yvlmake rule17:25
aelknerok, so i just have to remember to look at Makefile17:25
replaceafillyvl, it's not possible to filter packages using make testall, right?17:26
replaceafilllike saying i just want to test the gradebook, etc17:26
yvlno, I think17:26
replaceafillbin/test -s schooltool.gradebook --at-level 217:26
menesisno, but you can pass all kinds of options to bin/test17:27
yvlyes, replaceafill, yes menesis :)17:27
th1aOK... moving on?17:28
th1aThanks menesis!17:29
th1aGood luck uploading packages.17:29
replaceafill1. i know it's not a priority, but i learned a few things trying to install schooltool offline :)17:29
replaceafilli guess that is a use case for el salvador17:30
th1aIt is a reasonable priority.17:30
replaceafill2. th1a, i focused on el calvario's work last week17:31
th1aIf not an *immediate* one.17:31
replaceafilland i met with them on thursday17:31
replaceafilli showed them the gradebook and they all agreed on using it17:31
replaceafillas usual, some teachers are not used to computers17:31
replaceafilland they handle evertything on paper17:32
replaceafillsome of them have spreadsheets already with this year's grades17:32
replaceafilland they asked me if it was possible to get those spreadsheets and load them17:32
replaceafillso they don't have to type them again17:32
replaceafilli told them i would ask you17:33
replaceafillalso, the principal showed me a few reports she need for the end of the year17:33
replaceafillwe're planning they can enter grades from july-october17:34
replaceafillthey have vacation next week, and they asked me if it was possible to have everything ready for the second week of august17:34
th1aAs for the import, it doesn't seem like it would be too hard.17:35
replaceafillno, not at all17:35
th1aThat all sounds good.  The main thing is to not completely stop and lose touch with Cambodia.17:35
replaceafillworking on el calvario's gradebook made me realize something and i want you guys to confirm17:36
replaceafillreport sheets were designed for schools that use the same gradebook schema in all sections, correct?17:36
replaceafillsince they're deployed term-wide17:36
replaceafilland they appear in all the sections17:36
replaceafillreport sheets work well for el calvario17:37
replaceafillbut they won't for cambodia :(17:37
replaceafillcambodia has 2 grades with different grade needs17:37
replaceafill9 and 1217:37
replaceafillwhere you only have to store 2 semester grades17:37
th1aWell, you'll have to judge how difficult it would be to make report sheets do that.17:38
replaceafilli wasn't sure if report sheets were inteded to do that17:39
th1aYou have to stop thinking that way.17:39
replaceafilli always thought of them as being a fast way to set up things17:39
th1aThey're meant to do whatever they need to do.17:39
replaceafilloh ok, understood17:39
th1aI mean, at a certain point, it just may be too complicated from a coding and/or UI point of view.17:40
replaceafillyes, i always have the feeling like i'm bending stuff17:40
th1aIt is meant to be bent.17:40
replaceafillgot it :)17:40
th1aIn a sense, the priority is avoiding re-writing the gradebook interface five times.17:40
th1aAnd making teachers look in five places for where to put their grades.17:41
replaceafillok, th1a this week i'm going to leave el calvario again and focus on cambodia17:41
*** ColonelPanik has joined #schooltool17:42
th1aWhat's the next step with them?17:42
replaceafillusing defaults for the form, address data mostly17:43
replaceafilllike "last province used"17:43
th1aKeep that feedback loop going with them.17:44
th1aOK.  Sounds good.17:44
th1aThanks replaceafill!17:44
aelkneri got the two csv exports written17:45
aelknerthe graebook one delivers the csv to the browser17:45
aelknerthe intervention one delivers a zip file containing the two csv files, messages and goals17:46
th1a(these are for SLA)17:46
aelkneryes, but you wanted them to be permanent parts of the gradebook and intervention17:46
aelknerand that the links go in the Manage tab, remember?17:46
th1aJust adding some context for the audience.17:46
aelknerok, sorry17:47
th1ayvl: Actually, sometime in the next month we need contact export in the big .xls.17:47
th1aI assigned a bug to you.17:47
yvlI've been itching to write it for a while now ;)17:48
th1aSo you should be done with SLA, aelkner?17:48
aelknerin order to create the zip file, i had to do someting that schooltool hasn't done yet17:48
aelknernamely, using tempfile17:48
aelknermenesis, yvl: is there any reason that it would be a mistake to use tempfile in a zope app?17:48
aelknerthe zipfile lib needs filenames17:49
aelknerso feeding it a StrinIO file isn't possible like the csv lib allowed17:49
yvlI think you can pass it string io17:51
yvlimport zipfile17:51
menesisI don't know why using temp files would be a problem.17:51
aelkneri looked at the code17:51
yvldata = StringIO()17:51
aelknerit does an os.stat on the filename passed17:51
yvlzipfile.ZipFile(data, 'w', zipfile.ZIP_DEFLATED)17:52
aelknerit doesn't check to see if it is a file-like object17:52
yvland so on17:52
aelknerso that doesn't work17:52
yvlwell, the code I wrote should work17:52
aelknerit won't17:52
aelkneryvl, sorry, you thought i meant the file for the zipfile17:53
aelknerthat can be a strinio17:53
aelknerit's just the write() method17:53
aelknerthat expects a filename17:53
aelknerso there i need to use tempfiles17:54
*** ColonelPanik has left #schooltool17:54
yvlyep, it works17:54
yvljust tested17:54
yvlyou don't need tempfiles17:54
aelkneryou didn't test passing a stringio file to the write() method17:54
aelkneror it would have failed17:54
yvlok, you write to the zipfile like this:17:55
yvloutput = zipfile.ZipFile(data, 'w', zipfile.ZIP_DEFLATED)17:55
aelknerwhat data?17:55
yvloutput.writestr('', 'hello\nworld\n')17:55
aelknerwe have two files that are zipped17:56
yvlthe data you want zipped17:56
yvl"in order to create the zip file"17:56
yvlI'm assuming you are zipping data17:56
yvlnot unzipping17:56
aelknerzipping files17:56
aelknernot data17:56
aelknerwho zips data anyway?!17:56
menesisoor whatever. write() takes an existing file, writestr() takes a filename and bytes17:57
yvlexactly :)17:58
aelkneri didn't see that in the docs i found, but i could try that out today17:58
aelknerth1a, in the meantime, i was going to send alfano a note asking for their Data.fs17:59
aelknerand that they don't have teachers changing it anymore17:59
aelknerwe agreed that i don't need to deploy, right?17:59
th1aaelkner, Sounds good.17:59
th1aNot unless there turns out to be a reason to do so.  ;-)18:00
aelkneri tried running sla with the new schooltool core, and the Home page crashes18:00
aelknerit looks like something in zope changed18:00
th1aIt should be fine to just hand them the data.18:00
aelknerso that the CourseInfoViewlet has to pass more to the base class18:00
th1aOK, sounds good.18:01
th1aHopefully we'll hear from Mrs. Taiwo today.18:01
th1aOK, let's wrap this up.18:01
th1aThanks gentlemen!18:01
th1aHave a great week!18:01
aelknerthanks, you too18:01
* th1a drops the bag of gravel18:01
replaceafillthanks guys18:02
yvlgreat week to you all :)18:02
*** replaceafill has quit IRC18:30
*** mgedmin has quit IRC18:32
*** menesis has quit IRC18:58
*** menesis has joined #schooltool19:58
*** menesis1 has joined #schooltool20:20
*** menesis has quit IRC20:20
*** menesis1 is now known as menesis20:20
*** alga has joined #schooltool22:09
*** jelkner has joined #schooltool22:22
*** jelkner has quit IRC22:23
*** replaceafill has joined #schooltool23:04
replaceafillmenesis, removing the logo from the pdf footer fixed the CTE Resource Center virtualhost problem :)23:05
*** replaceafill has quit IRC23:13

Generated by 2.15.1 by Marius Gedminas - find it at!