| *** nerd_alert has quit IRC | 00:09 | |
| *** didymo has joined #schooltool | 00:16 | |
| *** ignas has quit IRC | 00:20 | |
| *** ACSpike[Work] has left #schooltool | 00:44 | |
| *** pcardune has joined #schooltool | 00:54 | |
| *** pcardune has left #schooltool | 01:53 | |
| *** pcardune has joined #schooltool | 01:53 | |
| *** pcardune has quit IRC | 01:55 | |
| *** wrobel has quit IRC | 03:43 | |
| *** pcardune has joined #schooltool | 07:47 | |
| *** bhaskar has joined #schooltool | 07:53 | |
| bhaskar | th1a_, hello | 07:55 |
|---|---|---|
| *** bhaskar has quit IRC | 08:17 | |
| *** wrobel has joined #schooltool | 08:42 | |
| *** lisppaste5 has quit IRC | 09:19 | |
| *** pcardune has quit IRC | 09:19 | |
| *** lisppaste5 has joined #schooltool | 09:31 | |
| *** jfroche has joined #schooltool | 10:51 | |
| *** thisfred has joined #schooltool | 10:59 | |
| *** jinty has joined #schooltool | 11:09 | |
| *** ignas has joined #schooltool | 12:57 | |
| CrippsFX | morning all. | 13:59 |
| *** didymo has quit IRC | 14:21 | |
| ignas | hi | 14:37 |
| *** bhaskar has joined #schooltool | 14:45 | |
| *** mgedmin has joined #schooltool | 14:53 | |
| *** bhaskar has quit IRC | 15:03 | |
| *** ACSpike[Work] has joined #schooltool | 16:48 | |
| *** alga has joined #SchoolTool | 17:16 | |
| *** pcardune has joined #schooltool | 18:24 | |
| *** ACSpike[Work] has left #schooltool | 18:26 | |
| pcardune | there are so many people here.... | 18:32 |
| *** alga has quit IRC | 18:41 | |
| ignas | pcardune: hi | 18:41 |
| pcardune | hi ignas | 18:41 |
| pcardune | If we are all here now, we could just meet now? | 18:41 |
| ignas | jfroche: ayt? | 18:42 |
| * ignas has added ie6 support by adding a bit of javascript | 18:42 | |
| jfroche | wuhu :) | 18:42 |
| ignas | and as far as i am concerned - not supporting IE6 for schooltool is not an option | 18:42 |
| pcardune | for cando then... | 18:42 |
| ignas | in trunk now | 18:43 |
| jfroche | ignas: great | 18:43 |
| ignas | so about gradebook | 18:43 |
| ignas | pcardune: what's your plan? | 18:44 |
| pcardune | My plan is to do what jelkner tells me to do | 18:44 |
| pcardune | at this point I'm planning on integrating what we have from cando into schooltool | 18:44 |
| pcardune | to form a base gradebook that provides enough functionality from which other gradebooks can stem | 18:44 |
| ignas | what kind of functionality? | 18:45 |
| pcardune | mostly integration with the ability to have tree structures for assignments/activities | 18:45 |
| ignas | so the gradebook will be assignment/activity based | 18:46 |
| pcardune | yes | 18:46 |
| pcardune | I forsee all the gradebooks being exactly the same except that they contain different sorts of grades | 18:46 |
| ignas | with all the activity management left to the user and marks being for (assignement, student) pairs | 18:46 |
| pcardune | one contains competency grades, one contains activity grades | 18:46 |
| pcardune | yes | 18:46 |
| ignas | i see | 18:47 |
| ignas | seems not too much overlap with lithuanian requirements | 18:47 |
| pcardune | and I'm reusing the existing gradebook code, which is based entirely off of the requirement package in schooltool | 18:47 |
| ignas | as in lithuanian it's the other way - mark goes first, then teacher might assign a category to the mark (homework, test etc.) | 18:47 |
| pcardune | how do they know what they are marking? | 18:48 |
| ignas | meeting | 18:48 |
| ignas | hmm | 18:49 |
| ignas | you have section meetings | 18:49 |
| jfroche | i need notes for every section that a student is registred and serveral time during the school year so my tuple is (student , section , time) | 18:49 |
| ignas | gradebook is a table :) | 18:49 |
| ignas | yep | 18:49 |
| ignas | jfroche: more like "student, timetable_event_id" | 18:49 |
| ignas | more convenient | 18:49 |
| ignas | timetable event will give you time and section | 18:50 |
| ignas | so if you want you can store marks in the annotations of the event even | 18:50 |
| jfroche | except that my section aren't map yet to a timetable | 18:50 |
| ignas | so where do teachers get the time from? | 18:51 |
| ignas | or you want to do gradebook without timetabling at all | 18:51 |
| jfroche | gradebook shouldn't be linked to the timetable | 18:51 |
| pcardune | +1 | 18:51 |
| ignas | pcardune: the only problem i see is the 'schootool.gradebook' name being taken by what effectivelly is 'american.gradebook' | 18:51 |
| ignas | jfroche: hmm, in lithuania it is ... | 18:52 |
| jfroche | i mean so that it shouldn't be linked to the timetable package | 18:52 |
| ignas | jfroche: so what is the workflow in belgium when grading students | 18:52 |
| jfroche | of course i need to have notes for some defined dates | 18:52 |
| ignas | jfroche: emm, so you can write some marks without a section meeting | 18:52 |
| *** thisfred has quit IRC | 18:52 | |
| jfroche | teacher have to provide a list of point for a certain date | 18:52 |
| jfroche | point/notes | 18:52 |
| pcardune | point=notes=grades=scores=marks? | 18:53 |
| jfroche | these notes are the sum of the result of the student for a defined period | 18:53 |
| ignas | interesting, in that case it might be more convenient to do it separately, though you will need a separate gradebook, and a part for managing the grading timestamps | 18:53 |
| jfroche | right cause theses are more frequent than terms | 18:54 |
| pcardune | I think we are being too specific with use cases here | 18:54 |
| pcardune | what is a gradebook essentially: it is a collection of students, a collection of things that need to be marked, and the marks | 18:54 |
| pcardune | is that right? | 18:54 |
| ignas | the things in my case are "sections" | 18:55 |
| jfroche | same for me | 18:55 |
| jfroche | but it's essentially that | 18:55 |
| pcardune | so each student has only one mark for a section? | 18:56 |
| ignas | no, 0 or more marks for a section meeting | 18:56 |
| ignas | most of the time 1 mark | 18:56 |
| ignas | ok | 18:56 |
| ignas | most of the time 0 | 18:56 |
| ignas | 2 marks - exception | 18:56 |
| pcardune | oooh, i see | 18:56 |
| pcardune | so you go to class and you get a grade for that day in class? | 18:57 |
| ignas | so essentially - timetable events | 18:57 |
| ignas | or for a test you did in that meeting | 18:57 |
| ignas | or for answering questions | 18:57 |
| pcardune | ook | 18:57 |
| ignas | or for the homework from last meeting | 18:57 |
| pcardune | ok, so yes, we have students, things to mark, and the marks | 18:58 |
| pcardune | in your case "things to mark" are timetable events, and in my case, things to mark are specific assignments | 18:58 |
| pcardune | I think we can have 1 gradebook class, with different adapters that populate it with the right students and the right things to mark | 18:59 |
| pcardune | does that make sense/ | 18:59 |
| pcardune | ? | 18:59 |
| ignas | hmm | 18:59 |
| ignas | the problem is that I don't really want to go complicated or even complex at the moment | 18:59 |
| ignas | it is possible to map the timetable event model on to the current activity based grade storage | 19:00 |
| ignas | but the code to store grades on timetable events directly | 19:00 |
| ignas | would be quite smaller | 19:00 |
| pcardune | ok, i see how that makes sense | 19:01 |
| ignas | what would be the benefits of a common store, except for the fact that it would have to implement all of our requirements | 19:01 |
| ignas | ? | 19:01 |
| pcardune | but the gradebook shouldn't care about storage | 19:01 |
| ignas | the gradebook has 2 parts - UI and Storage | 19:01 |
| jfroche | i am not sure i will ever get the timetable for my school | 19:02 |
| pcardune | I think the gradebook only has one part, UI | 19:02 |
| ignas | jfroche: ouch, so how do they go to lessons ? | 19:02 |
| pcardune | ignas: I'm in the same boat | 19:02 |
| pcardune | ignas: they go to lessons with the dashboard, which lists the sections they are instructors of | 19:02 |
| pcardune | (in cando) | 19:03 |
| ignas | the time for lessons is somewhere | 19:03 |
| ignas | for section meetings | 19:03 |
| ignas | or do you reshuffle it every day? | 19:03 |
| jfroche | ignas: they have timetable but they are done by another math software from an external guy | 19:03 |
| ignas | jfroche: so you can view it, yes? on the web or on paper | 19:04 |
| jfroche | on paper & i don't want to encode timetable for 1000 students by hand | 19:04 |
| ignas | pcardune: i kind of dropped the idea of "common storage fits all possible UIs" idea, as being not suitable pluggability | 19:04 |
| ignas | jfroche: OCR FTW ;) or make students do id :) | 19:05 |
| pcardune | ignas: yes, I agree | 19:05 |
| pcardune | that is why we have uncommen storage, but the same UI | 19:05 |
| ignas | pcardune: or uncommon storage and uncommon UI | 19:06 |
| ignas | pcardune: because UI is the part lyceum wants most changes to, especially for gradebook | 19:06 |
| pcardune | ok, uncommon storage, uncommon UI, but the same Interface? | 19:06 |
| ignas | Interface? | 19:06 |
| pcardune | IGradebook | 19:06 |
| ignas | why? | 19:06 |
| ignas | IGradebook on what? | 19:07 |
| pcardune | IHaveGradebook | 19:07 |
| ignas | hmm | 19:07 |
| ignas | we might try sharing some views | 19:07 |
| pcardune | especially when it comes to reports | 19:07 |
| ignas | IGradebook for person, might be identical | 19:08 |
| ignas | ok, not really | 19:08 |
| pcardune | Right now cando gradebook has the most functionality, but eventually your gradebooks might have more functionality which I want to have too | 19:08 |
| pcardune | the less I have to do to get your code to work with my code, the better | 19:08 |
| ignas | i understand | 19:09 |
| pcardune | If we can stick to some base interfaces, then that will be easy | 19:09 |
| ignas | hmm, i don't think so | 19:09 |
| ignas | though | 19:09 |
| ignas | what do you suggest having in the base ? | 19:09 |
| ignas | methods | 19:10 |
| ignas | on IGradebook(section) | 19:10 |
| ignas | what kind of functionality you think might apply to both gradebooks (functionality that only depends on the base interface) | 19:10 |
| pcardune | attributes: students, "thinkgs to mark" | 19:10 |
| pcardune | getMark(student, thing_to_mark) | 19:10 |
| pcardune | setMark(student, thing_to_mark) | 19:11 |
| jfroche | setMark(student, thing_to_mark, time) | 19:11 |
| pcardune | jfroche: that would be implicit in the "thing_to_mark" | 19:12 |
| jfroche | ok | 19:12 |
| pcardune | *or* your implementation of getMark would get the time | 19:12 |
| ignas | jfroche: no, with this interface you would have to add an object "thing_to_mark" that would be something like an event | 19:12 |
| jfroche | ignas: an event with a section | 19:12 |
| ignas | possibly | 19:12 |
| ignas | another thingie is that my gradebook will be closely integrated with attendance | 19:13 |
| pcardune | Also, I wonder whether you will be using the requirement package (I very much hope yes) | 19:13 |
| ignas | what can it do for me? | 19:13 |
| pcardune | ignas: IAttendace(gradebook) | 19:13 |
| pcardune | it can do score systems | 19:14 |
| pcardune | well I really only hope that you will use the same interface in requirement package | 19:14 |
| pcardune | IEvaluation, IScoreSystem, IRequirement | 19:14 |
| pcardune | (maybe not IRequirement) | 19:14 |
| ignas | my problem is that: | 19:15 |
| ignas | what i need is to store 1-10 or (absent, tardy) for every timetable event | 19:15 |
| * jfroche whished Belgian school could be based on requirement, but no | 19:15 | |
| ignas | and views that show that data | 19:15 |
| ignas | and IRequirements are not giving me anything | 19:16 |
| pcardune | like I said, not necessarily IRequirements | 19:16 |
| ignas | i mean if it would be possible to use these interfaces somehow to find common ground | 19:16 |
| ignas | and have some shared code | 19:16 |
| ignas | i would be all for it | 19:16 |
| ignas | but i still can't think of an example of shared code | 19:16 |
| ignas | to make it worth doing additional work | 19:17 |
| pcardune | ok | 19:17 |
| ignas | maybe you can give me an example | 19:17 |
| ignas | of how would you imagine doing a report on grades | 19:17 |
| pcardune | well at first I was thinking gradebook views | 19:17 |
| pcardune | reporting though seems to be a good fit | 19:17 |
| ignas | that would apply to your school and my school | 19:18 |
| pcardune | because you can't have to many different kind of reports | 19:18 |
| ignas | pcardune: you can, that's the whole point :/ | 19:18 |
| jfroche | reports are very specific | 19:18 |
| ignas | precisely | 19:18 |
| ignas | reports is the part that will have to be very very very customizable even when schooltool UI will be more or less stable for 90% users | 19:19 |
| ignas | (looking into far future) | 19:19 |
| pcardune | ok | 19:19 |
| pcardune | I see your point | 19:19 |
| pcardune | are any of the changes from the two schools you are working with making there way back into trunk? | 19:20 |
| jfroche | some part yes | 19:20 |
| ignas | hmm, pluggability of module initialization | 19:21 |
| ignas | confirmation for calendar event deletion | 19:21 |
| ignas | btw | 19:21 |
| ignas | talking about far future | 19:22 |
| jfroche | we are customizing schooltool to fit to the school needs, when we see that there is a hard customization problem we change to make it easy custom and move this to trunk | 19:22 |
| ignas | the pattern ISchoolToolCalendar(person) | 19:22 |
| pcardune | ok, that sounds good | 19:22 |
| ignas | or IAttendance(person) | 19:22 |
| ignas | or IFoo(group) | 19:22 |
| ignas | etc. | 19:22 |
| ignas | is used quite a lot in schooltool | 19:22 |
| ignas | most of the time it stores data in person.__annotations__ etc. | 19:23 |
| ignas | yes? | 19:23 |
| pcardune | yes | 19:23 |
| jfroche | yup | 19:23 |
| ignas | but in the very long term we might want to move persons | 19:23 |
| ignas | groups or pretty much any part of schooltool | 19:23 |
| ignas | out of ZODB into sql database, LDAP | 19:23 |
| jfroche | yup | 19:23 |
| ignas | plain text files in the filesystem | 19:23 |
| ignas | another planet | 19:23 |
| ignas | etc. | 19:23 |
| pcardune | can we leave around a persistent wrapper? | 19:24 |
| ignas | pcardune: not always | 19:24 |
| jfroche | there is no storage layer | 19:24 |
| ignas | so the patter IAttendance(group) storing the data in app.__annotations__['lyceum.group.attendance'] | 19:24 |
| ignas | or something simmilar | 19:24 |
| pcardune | IAttendace(IPersonStorage(person))? | 19:25 |
| ignas | or even constraining itself to only modifying data in app['lyceum.groups'] (some attendacne object) | 19:25 |
| ignas | wouls be the way to go | 19:25 |
| ignas | so that in the future you can remove 100% of attendance in one go, and 2 different attendance plugins | 19:25 |
| ignas | do not share the database | 19:25 |
| ignas | etc. | 19:25 |
| ignas | the downside is - you must clean up on IObjectRemoved event | 19:26 |
| ignas | the upside - you can start using lyceum.person instead of schooltool.person | 19:27 |
| ignas | without ruining the database | 19:27 |
| ignas | if you write schooltool.person => lyceum.person export script | 19:27 |
| ignas | that creates persons with identical id's | 19:27 |
| ignas | etc. | 19:27 |
| ignas | but that's the very far future | 19:27 |
| pcardune | ok | 19:28 |
| ignas | adds a bit of inconvenience and a lot more modularity | 19:28 |
| ignas | if we will have eggs for all sub packages - we will need modularity | 19:28 |
| pcardune | what happens if lyceum.person and schooltool.person are both installed? | 19:29 |
| ignas | at the moment - you select the active one through zcml | 19:29 |
| ignas | on the first start up | 19:29 |
| ignas | which is very inconvenient | 19:29 |
| ignas | with such scheme - you could in theory switch between them without even shutting down | 19:30 |
| ignas | through some kind of admin UI | 19:30 |
| pcardune | sexy | 19:30 |
| ignas | but as i have mentioned it's far future - unless i gain superpowers ;) | 19:30 |
| ignas | my vision | 19:31 |
| ignas | a nice word ;) | 19:31 |
| ignas | is | 19:31 |
| ignas | having eggs for data plugins (schooltool.person, lyuceum.person etc) | 19:31 |
| ignas | and eggs for UI packages | 19:31 |
| ignas | lyceum.school, schooltool.attendance | 19:31 |
| ignas | UI packages depending on interfaces provided by data storage eggs | 19:31 |
| ignas | so if you want to install lyceum.school - you must have evabled an ILyceumPersonStorage providing egg | 19:32 |
| jfroche | and auto changing zcml :) | 19:32 |
| ignas | nope | 19:32 |
| ignas | no zcml changing | 19:32 |
| ignas | you just select schooltool.lyceum.person, schooltool.calendar, schooltool.attendance, schooltool.groups data plugins | 19:32 |
| ignas | and select "schooltool.standard" | 19:32 |
| ignas | ui plugin after that | 19:33 |
| ignas | and voila - a standard school | 19:33 |
| ignas | unclick the UI, select different plugins, select different UI | 19:33 |
| ignas | voila - a different school | 19:33 |
| ignas | want an SQL person database | 19:33 |
| ignas | install cando.person.sql egg | 19:33 |
| ignas | configure it in the file system | 19:33 |
| ignas | start schooltool, select it instead of schooltool.person | 19:34 |
| ignas | and you have persons in SQL | 19:34 |
| ignas | (no, we won't do ttw sql connection configuration, that would be a security hazard) | 19:34 |
| ignas | but that will take a lot of time | 19:35 |
| pcardune | that sounds very nice | 19:35 |
| jfroche | yup | 19:37 |
| ignas | that is the only way i think pluggins | 19:37 |
| ignas | and database based application | 19:37 |
| ignas | can coexist | 19:37 |
| ignas | but i am welcome to suggestions ;) | 19:37 |
| ignas | open | 19:37 |
| ignas | not welcome | 19:37 |
| ignas | broken english ;) | 19:37 |
| pcardune | he | 19:37 |
| jfroche | ignas: do we have time to create such a plugin system ? | 19:39 |
| ignas | nope :) that's something we will have in a year or two | 19:39 |
| ignas | just that | 19:39 |
| ignas | if it's equivalently easy to store something on a person | 19:40 |
| ignas | and in app['schooltol.gradebook'] | 19:40 |
| ignas | you should probably store it on app | 19:40 |
| ignas | having USA style gradebook | 19:40 |
| ignas | as schooltool.gradebook | 19:40 |
| ignas | is not too terrible | 19:40 |
| ignas | ;) | 19:40 |
| ignas | pcardune: if you will see anything in my code that you want to reuse - tell me i will refactor it | 19:42 |
| ignas | anything else? | 19:43 |
| pcardune | no, that sounds good | 19:43 |
| ignas | jfroche: if you would add an event for every grade teachers add | 19:44 |
| ignas | we might have a common base for storage | 19:44 |
| jfroche | right | 19:44 |
| jfroche | i ll anyway try to get ical export of the calendars | 19:45 |
| ignas | i see | 19:45 |
| *** alga has joined #SchoolTool | 19:45 | |
| ignas | i guess we'll be able to coordinate more, when i will start actual work on the gradebook | 19:46 |
| * ignas has to fix one more bug before that | 19:46 | |
| ignas | bye | 19:46 |
| ignas | was nice talking to you ;) | 19:46 |
| pcardune | bye | 19:47 |
| jfroche | yup have a nice weekend | 19:47 |
| ignas | thanks | 19:47 |
| *** ignas has quit IRC | 19:47 | |
| *** pcardune has quit IRC | 19:55 | |
| *** ACSpike[Work] has joined #schooltool | 20:42 | |
| *** ACSpike[Work] has left #schooltool | 20:42 | |
| *** jinty has left #schooltool | 20:48 | |
| *** jinty has quit IRC | 20:48 | |
| *** pcardune has joined #schooltool | 20:51 | |
| *** Fujitsu has quit IRC | 21:10 | |
| *** mgedmin has quit IRC | 21:29 | |
| *** mgedmin has joined #schooltool | 21:30 | |
| pcardune | Why does merging seem so painful? | 21:35 |
| *** pcardune has quit IRC | 21:57 | |
| *** mgedmin has quit IRC | 22:19 | |
| *** jfroche_ has joined #schooltool | 23:09 | |
| *** jfroche has quit IRC | 23:21 | |
| *** pcardune has joined #schooltool | 23:22 | |
| Lumiere | pcardune: because merging big stuff IS painful | 23:49 |
| pcardune | no... i'm just talking about the commands | 23:49 |
| Lumiere | ah | 23:49 |
| Lumiere | probably to make sure that non-noobs aren't merging? | 23:49 |
| pcardune | no... because noobs just screw it up! | 23:51 |
| Lumiere | lol | 23:52 |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!