*** replaceafill has quit IRC | 00:08 | |
*** menesis has quit IRC | 00:36 | |
*** alga has quit IRC | 03:07 | |
*** th1a has quit IRC | 06:45 | |
*** povbot has joined #schooltool | 10:34 | |
*** alga has joined #schooltool | 11:32 | |
*** menesis has joined #schooltool | 11:32 | |
*** menesis has quit IRC | 13:07 | |
*** ignas has joined #schooltool | 13:08 | |
*** menesis has joined #schooltool | 13:37 | |
*** menesis has quit IRC | 14:25 | |
*** jelkner has joined #schooltool | 15:05 | |
*** menesis has joined #schooltool | 15:14 | |
*** yvl has joined #schooltool | 15:15 | |
*** alga has quit IRC | 15:34 | |
*** ChanServ sets mode: +o yvl | 15:40 | |
*** yvl changes topic to "SchoolTool development | SchoolTool 1.4 has been released! | IRC logs at http://source.schooltool.org/irclogs/ | SchoolTool Dev meetings Mon, 14:30 UTC (16:30 EET, 9:30 EST) | Use http://paste.lisp.org/new/schooltool for pasting | Write more unit and functional tests! Yes, you! | Build Status: http://source.schooltool.org/buildbot | Can't speak? Please register and identify your nick" | 15:41 | |
*** ChanServ sets mode: -o yvl | 15:41 | |
*** th1a has joined #schooltool | 16:27 | |
th1a | I just ordered a Tonidoplug: https://store.tonido.com/index.php?main_page=product_info&cPath=1&products_id=1&zenid=6c44bc063f8b4418846c366335f9d310 | 17:07 |
---|---|---|
th1a | See if that works as a $99 SchoolTool appliance. | 17:07 |
yvl | hmm, 1.2GHz ARM and 512MB RAM... | 17:15 |
th1a | We'll see how it does. | 17:15 |
yvl | yes, that will be really interesting | 17:15 |
yvl | I wonder if libraries we use compile on ARM flawlessly | 17:18 |
yvl | well, one way to find out :) | 17:18 |
th1a | Well... yeah. | 17:18 |
th1a | I hadn't taken that into account. | 17:18 |
th1a | We'll see. | 17:18 |
th1a | Perhaps if we can hack something together to test it, and it works ok, then we could get them to make an image. | 17:22 |
th1a | http://www.tonido.com/support/Developer:Linux_GettingStarted | 17:28 |
yvl | well, tonido is a product built on Sheeva Plug | 17:31 |
yvl | reading on, Marvel also provides gcc cross-compiler for arm | 17:32 |
th1a | Hm. | 17:32 |
yvl | (Marvel develops ShivaPlug, Tonido sells it with some additional candy) | 17:32 |
th1a | I see... | 17:32 |
th1a | The tonido parts might be nice for my home use of the thing. | 17:33 |
yvl | yes, that's a very nice gadget with "batteries built in"... | 17:35 |
th1a | It looks like 9.04 is the last Ubuntu version packaged for it. | 17:35 |
th1a | I just been getting the "We're a tiny island in the middle of the ocean that would like to use SchoolTool but we only know Windows." emails lately. | 17:36 |
th1a | We need an appliance. | 17:36 |
yvl | that sounds very, very right | 17:37 |
yvl | on so many levels :) | 17:37 |
th1a | I mean, we basically have that on the software side. | 17:38 |
th1a | But in perception there is still a big difference between, "buy this an plug it in" and "buy *something* plug it in, and install this new operating system." | 17:39 |
yvl | well, SheevaPlug is sold with Ubuntu 9.04 I think | 17:40 |
th1a | Yes. | 17:40 |
yvl | so it's currently "buy this, plug it in, install ST" | 17:41 |
th1a | In theory. | 17:41 |
yvl | well, not currently, but the easiest goal to achieve | 17:41 |
th1a | Also, we could install the software ourselves (manually). | 17:42 |
th1a | We'd need packages to make it maintainable... I don't know how you make ARM packages... | 17:42 |
th1a | For, say lxml. | 17:42 |
th1a | I guess the "Tondio Platform" is not really what we need. | 17:45 |
*** replaceafill has joined #schooltool | 17:45 | |
replaceafill | yvl, got a minute? | 17:46 |
th1a | Also, I want to call it tondio, not tonido. | 17:46 |
yvl | ah, yes | 17:48 |
yvl | and yes, replaceafill | 17:48 |
yvl | just one second | 17:48 |
yvl | th1a, I'm already calling my friends... I think there are some ARM devices I could borrow | 17:49 |
yvl | that would be cool to try (after timetables) | 17:49 |
th1a | Maybe a little TOO cool... ;-) | 17:50 |
yvl | and... one of my friends is kind of porting one BIG application to ARM | 17:50 |
yvl | so the waters are not THAT uncharted ;) | 17:50 |
th1a | Clearly ARM is a hot topic. | 17:51 |
th1a | TonidoPlug does ship with 9.04 and ssh running. | 17:51 |
replaceafill | yvl, could you check: http://pastebin.com/ghhpgKbR | 17:53 |
yvl | sure, looking... | 17:53 |
replaceafill | dwelsh wants three reports, an individual scr, a section scr and a sytem scr | 17:54 |
replaceafill | in a single pdf | 17:54 |
replaceafill | the individual and section ones work | 17:54 |
replaceafill | the system wide one takes forever to finish | 17:55 |
replaceafill | and it's not generating the rml what it takes time | 17:55 |
th1a | It isn't so much the time as the memory, right? | 17:55 |
replaceafill | it's the call to rml2pdf.... | 17:55 |
replaceafill | yes | 17:55 |
th1a | I mean, it is ok for a giant report to take a long time. | 17:55 |
replaceafill | the z3c.rml.document.Document class has a process method | 17:56 |
replaceafill | which copies the rml as a StringIO | 17:56 |
replaceafill | the generated rml for the Career Center is about 210 MB | 17:56 |
yvl | well, the way I see it | 17:56 |
yvl | to save the memory you probably will have to generate multiple rmls | 17:57 |
yvl | and join their built... whatevers | 17:57 |
yvl | pdfs probably | 17:57 |
th1a | Ah.. joining pdf's! | 17:57 |
yvl | it is a collection of separate reports anyway, yes? | 17:57 |
replaceafill | yes | 17:58 |
replaceafill | do we have a library to join pdfs? | 17:58 |
replaceafill | i mean, it's adding a new dependency, right? | 17:58 |
yvl | not necessarily | 17:58 |
replaceafill | pyPDF? | 17:58 |
yvl | I think that could be done on reportlab's level | 17:59 |
yvl | I really do not remember how | 17:59 |
replaceafill | ok | 17:59 |
th1a | How many sections are there? | 17:59 |
yvl | but I can look at it of course :) | 17:59 |
replaceafill | i have counted the number of individual reports only, around 5000 | 18:00 |
replaceafill | that is a student enrolled in a section, 5000 enrollments we could say | 18:00 |
th1a | We don't need a perfect solution to this. | 18:00 |
replaceafill | i was looking yesterday and i only found pyPDf | 18:01 |
replaceafill | "Reportlab has a product called PageCatcher that allows | 18:01 |
replaceafill | you to merge .PDF files." :O | 18:01 |
replaceafill | "You could try getting ghostscript, converting the files to ps, and then use | 18:02 |
replaceafill | psmerge. | 18:02 |
replaceafill | " :| | 18:02 |
yvl | well, as we are building the reports ourselves | 18:02 |
yvl | we don't need to go that far | 18:02 |
th1a | If there is a sane way to group these, we should do that. | 18:03 |
th1a | replaceafill: Do you understand the reason for this? | 18:03 |
th1a | Entire task. | 18:03 |
yvl | I remember that Reportlab gives you an option to add several document builds next to each other for the same file | 18:03 |
replaceafill | to back up, correct? | 18:03 |
replaceafill | i mean, they want to have an archive of all the students grades | 18:04 |
th1a | Right... in particular to just print all these out and put them in a box. | 18:04 |
replaceafill | :D | 18:04 |
th1a | So the number of files is not necessarily worth spending a lot of time on. | 18:04 |
yvl | so eventually it would be a loop of "build rml, render rml" | 18:04 |
replaceafill | yvl, i have even thought about a zipped file with lots of pdfs in it | 18:05 |
yvl | well, the memory is consumed while parsing the enormous rml / building the flowables and organizing them, right? | 18:06 |
replaceafill | yes | 18:06 |
yvl | so you can definitely do that in portions | 18:06 |
replaceafill | my 'poor' benchmarks say that 10% of the time is building the rml and the rest the pdf | 18:06 |
yvl | one rml per... student or something | 18:07 |
yvl | then let reportlab parse the tiny rml, and render | 18:07 |
yvl | and then generate another rml for next student | 18:07 |
yvl | and so on | 18:07 |
replaceafill | yes, but how do we make a single file from them? | 18:07 |
yvl | hmm, I only remember that this can be done | 18:08 |
yvl | let me look into that and get back to you :) | 18:08 |
replaceafill | i can look for it | 18:08 |
replaceafill | :) | 18:08 |
yvl | get back to you today, of course :) | 18:08 |
replaceafill | thanks, i'll look too | 18:08 |
th1a | Could you please just try having it put, say, the first fifth of the sections in one report and see if it works? | 18:10 |
replaceafill | i did with ten yesterday, and it worked | 18:10 |
th1a | Ten files. | 18:11 |
replaceafill | it took a little of time but it finished | 18:11 |
th1a | ? | 18:11 |
replaceafill | ah no | 18:11 |
replaceafill | ten sections in a single file | 18:11 |
th1a | How many files would that give you for the whole thing? | 18:11 |
replaceafill | ah, let me see | 18:11 |
th1a | How many pages is ten sections? | 18:12 |
replaceafill | let me see, i deleted the file :( | 18:12 |
replaceafill | builiding again | 18:12 |
replaceafill | th1a, 328 pages for the first 10 sections | 18:17 |
replaceafill | 1 MB | 18:17 |
replaceafill | size of the file | 18:17 |
replaceafill | and it took: | 18:17 |
replaceafill | Started at 2010-06-08 09:14:10.019164 | 18:17 |
replaceafill | Generating the rml took 5 seconds | 18:17 |
replaceafill | 2010-06-08 09:16:36,387 kill_hung_threads status: 10 threads (1 working, 9 idle, 0 starting) ave time 146.37sec, max time 146.37sec, killed 0 workers | 18:17 |
replaceafill | 2010-06-08 09:16:45,870 kill_hung_threads status: 10 threads (1 working, 9 idle, 0 starting) ave time 155.86sec, max time 155.86sec, killed 0 workers | 18:17 |
replaceafill | 2010-06-08 09:16:54,825 kill_hung_threads status: 10 threads (1 working, 9 idle, 0 starting) ave time 164.81sec, max time 164.81sec, killed 0 workers | 18:17 |
replaceafill | 2010-06-08 09:17:03,794 kill_hung_threads status: 10 threads (1 working, 9 idle, 0 starting) ave time 173.78sec, max time 173.78sec, killed 0 workers | 18:17 |
replaceafill | Generating the pdf took 175 seconds | 18:17 |
replaceafill | sorry for the flooding | 18:17 |
th1a | How many files would you need? Perhaps Welsh has no idea of what he's asking for. | 18:17 |
th1a | Time is really irrelevant. | 18:18 |
replaceafill | ok, let me see how many sections... | 18:18 |
replaceafill | 342 sections | 18:19 |
replaceafill | 4845 single student reports to build | 18:20 |
th1a | How big are they? | 18:20 |
replaceafill | just one? it depends on how many competencies the section has | 18:20 |
replaceafill | let me look for a big section | 18:20 |
th1a | This is completely fucked. | 18:22 |
th1a | We need a reality check with Welsh. | 18:22 |
th1a | You're talking about 11,000 pages of section reports. | 18:23 |
replaceafill | :) | 18:23 |
replaceafill | i was thinking, if only the rml takes like 210 MB, how big is this pdf going to be | 18:23 |
replaceafill | i vote for the zipped version! | 18:24 |
replaceafill | :) | 18:24 |
yvl | by the way, this is a very viable option | 18:25 |
th1a | I don't think he even wants this. | 18:25 |
replaceafill | :( | 18:25 |
yvl | give the rml, and build it to pdf from command line | 18:25 |
replaceafill | :O | 18:25 |
yvl | but th1a may be right :) | 18:25 |
yvl | again :) | 18:25 |
replaceafill | yvl, how can i build it from the command line? | 18:25 |
yvl | well rml2pdf.py! | 18:26 |
replaceafill | :| | 18:26 |
yvl | see: | 18:26 |
yvl | if __name__ == '__main__': | 18:26 |
yvl | canvas = go(sys.argv[1]) | 18:26 |
replaceafill | :O | 18:26 |
yvl | so | 18:26 |
yvl | it should work :) | 18:27 |
yvl | except for images of course | 18:27 |
replaceafill | hhmm just zonki | 18:27 |
replaceafill | in the footer | 18:27 |
replaceafill | default page template | 18:27 |
yvl | ..../parts/omelette/z3c/rml$ python rml2pdf.py tests/input/rml-examples-000-simple.rml | 18:28 |
replaceafill | ImportError: No module named lxml | 18:28 |
replaceafill | can i use the instance's python? | 18:29 |
replaceafill | i mean, does the instance's python get's all the eggs in the python path? | 18:29 |
th1a | How many pages are the student reports, roughly, each? | 18:30 |
replaceafill | 3-4 pages | 18:30 |
yvl | if you want to use your checked out instance, you'll need a script like bin/start-schooltool-instance | 18:30 |
yvl | those are auto-generated | 18:30 |
yvl | but if you installed ST as .deb | 18:31 |
replaceafill | no, it's a check out | 18:31 |
yvl | your system python already has the needed stuff | 18:31 |
yvl | I mean - users will have that | 18:31 |
replaceafill | ah | 18:31 |
yvl | so their sysadmins can write command line scripts | 18:31 |
yvl | then again.. printing 12.000 pages of reports... | 18:32 |
yvl | or more like 18.000 pages | 18:32 |
th1a | OK, I just sent an email to Welsh questioning the sanity of this implementation. | 18:32 |
replaceafill | :D | 18:33 |
replaceafill | to be fair, his bug says "I envision naming the reports: | 18:34 |
replaceafill | schoolyear_state-course-id_local-course-id_stud-number_date" | 18:34 |
th1a | If we really need an archival dump of everything, it will probably have to be a much denser report (much more data per page). | 18:35 |
th1a | Which reports here are giant archives and which are per-person/section? | 18:44 |
replaceafill | th1a, ? | 18:45 |
th1a | Are all these giant pdfs or are some reports to be requested per person or section? | 18:46 |
replaceafill | no, there are per person and section reports too | 18:46 |
replaceafill | which the teacher can use | 18:47 |
replaceafill | the giant one is for the administrator | 18:47 |
th1a | And which is that? | 18:47 |
replaceafill | the one that goes through all the sections and build the giant pdf | 18:48 |
th1a | The section report. | 18:48 |
th1a | Can I see a few pages of that? | 18:49 |
replaceafill | sure | 18:49 |
replaceafill | i'll send you the one for 10 sections, ok/ | 18:49 |
replaceafill | or you want a single section? | 18:49 |
replaceafill | or a single person? | 18:49 |
th1a | 10 sections is fine. | 18:53 |
replaceafill | im attaching one of each :) | 18:53 |
th1a | I hope this doesn't fill up my GMail inbox. | 18:55 |
replaceafill | th1a, sent | 18:56 |
replaceafill | dont worry, it's just about 1.5 Mb | 18:56 |
th1a | Oh no YOU CRASHED GOOGLE! | 18:57 |
th1a | OK, first, remove all that text. | 18:57 |
replaceafill | ¬¬ | 18:57 |
replaceafill | you mean, to test_ | 18:58 |
th1a | Next, remove all compentencies that don't have a score. | 18:58 |
replaceafill | because Glenda and Lee asked for that | 18:58 |
th1a | They're wrong if they actually want to print these. | 18:58 |
th1a | I mean, we need to clarify the purpose of this giant lump. | 18:58 |
replaceafill | :D | 18:59 |
th1a | This giant report is no different in format than the individual ones, right? | 18:59 |
replaceafill | no | 18:59 |
replaceafill | it just a lot of individual ones | 18:59 |
th1a | That's what I mean. | 18:59 |
th1a | That'll have to change. | 19:00 |
th1a | Also, why does the SchoolTool logo still look like shit? | 19:00 |
replaceafill | :D | 19:00 |
replaceafill | i guess it's the pdf rendering | 19:00 |
replaceafill | because it's the "new" zonki | 19:00 |
th1a | Can we have that not pixelated? | 19:00 |
th1a | ALso, why is the text pixelated? | 19:01 |
replaceafill | it is? | 19:01 |
th1a | That's an image of text, not pdf text. | 19:01 |
replaceafill | can you send a screenshot? | 19:01 |
replaceafill | ah | 19:01 |
replaceafill | you mean, the schooltool part | 19:01 |
th1a | Yes. | 19:01 |
replaceafill | it's a single image | 19:01 |
th1a | Why? | 19:01 |
th1a | Don't do that. | 19:02 |
replaceafill | zonki and the text | 19:02 |
th1a | We need higher res zonki and proper pdf text in the footer. | 19:02 |
replaceafill | should we reopen this: https://bugs.launchpad.net/schooltool/+bug/561558 | 19:02 |
replaceafill | th1a, this is the original file: http://imagebin.ca/view/MWN_9OP.html | 19:05 |
replaceafill | zonki looks "decent" there | 19:05 |
th1a | I don't want the text image. | 19:07 |
replaceafill | ok | 19:07 |
th1a | replaceafill: Looking over Javier's emails, | 19:47 |
th1a | I guess you can do some of the data entry cleanup he suggests, but I'm thinking the real issue is finishing grading. | 19:48 |
th1a | And getting actual feedback on that. | 19:48 |
replaceafill | ah | 19:48 |
replaceafill | the word grade for "grades" and "grades" confuses me :P | 19:55 |
replaceafill | when you said "finishing grading" i thought you mean putting the student in the right place :( | 19:55 |
th1a | I'm not sure which Javier is talking about for that matter. | 19:56 |
replaceafill | now i see it's "finishing grading" as complete the gradebook funtionality | 19:56 |
th1a | I mean, that's the part that could just not work. | 19:56 |
replaceafill | to me javier is talking about grading -> school years, groups, levels, etc | 19:57 |
replaceafill | right? | 19:57 |
th1a | I suppose so. | 19:57 |
th1a | We kind of need to prioritize his suggestions. | 19:58 |
th1a | Which ones are needed now, needed later, and nice to have. | 19:58 |
replaceafill | ah ok | 19:58 |
replaceafill | should we create bugs, blueprint or just a text file :) | 19:58 |
th1a | e.g., see how many people are in a group before you assign someone to it = nice to have. | 19:58 |
th1a | Actually, why don't you make a text file. | 19:59 |
replaceafill | ok | 19:59 |
th1a | needed later = things like progressing to next year, which we don't really need until next year. | 19:59 |
th1a | And we've already done some work on, ofc. | 20:00 |
replaceafill | - Add grade and group to the student form | 20:01 |
replaceafill | - Report how many students are in a group or all groups | 20:02 |
replaceafill | - Set maximum number of students for groups | 20:04 |
replaceafill | - Some weird birth date calculation from the grade value? | 20:05 |
replaceafill | - Filter students with no group | 20:06 |
*** menesis has quit IRC | 20:10 | |
th1a | Weird birth date thing = nice to have. | 20:12 |
th1a | (a good idea, actually) | 20:12 |
replaceafill | :) | 20:13 |
*** ignas has quit IRC | 21:12 | |
replaceafill | th1a, it seems like there's no way to improve the image quality... | 21:44 |
th1a | Hm? | 21:48 |
replaceafill | even in the tests of the z3c.rml package, there's some examples and they look horrible | 21:48 |
replaceafill | just like zonki :) | 21:48 |
th1a | Huh. Ok, well, you know, maybe we don't need that anyhow. | 21:49 |
replaceafill | ¬¬ | 21:49 |
th1a | Maybe a much subtler gray "Created with SchoolTool." type thing. | 21:50 |
replaceafill | just text_ | 21:50 |
replaceafill | ? | 21:50 |
th1a | Yes. | 21:51 |
th1a | I don't necessarily remember how that got there in the first place, although presumably it was my idea... | 21:52 |
th1a | But I've been reacting more to the image quality than whether or not it is actually necessary. | 21:53 |
jelkner | What? I love zonki! | 21:54 |
replaceafill | yes | 21:54 |
th1a | jelkner: Just not necessarily by default at the bottom of printed reports. | 21:56 |
th1a | I'm really not sure how it got there. | 21:56 |
* jelkner agrees | 21:57 | |
*** jelkner has quit IRC | 21:57 | |
th1a | OK, dwelsh says just do reports by section, not the giant thing. | 22:22 |
th1a | replaceafill, ^ | 22:22 |
replaceafill | ok | 22:24 |
replaceafill | th1a, could you create a mock of the footer you want? | 22:27 |
replaceafill | since i have no design skills :( | 22:28 |
*** alga has joined #schooltool | 22:30 | |
*** dogi has joined #schooltool | 23:09 | |
*** jelkner has joined #schooltool | 23:09 | |
*** replaceafill has quit IRC | 23:16 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!