*** povbot has joined #schooltool | 00:11 | |
*** vidasp has quit IRC | 00:24 | |
*** povbot` has quit IRC | 00:30 | |
*** srichter has joined #schooltool | 00:51 | |
*** didymo has quit IRC | 00:58 | |
*** ignas has quit IRC | 01:06 | |
*** srichter has quit IRC | 01:09 | |
*** didymo has joined #schooltool | 02:23 | |
*** didymo has quit IRC | 03:01 | |
*** didymo has joined #schooltool | 03:10 | |
*** didymo has quit IRC | 05:39 | |
*** didymo has joined #schooltool | 05:48 | |
*** didymo has quit IRC | 05:53 | |
*** didymo has joined #schooltool | 06:40 | |
*** didymo has quit IRC | 06:59 | |
*** didymo has joined #schooltool | 07:02 | |
*** didymo has quit IRC | 07:05 | |
*** kitblake has left #schooltool | 07:39 | |
*** kitblake has joined #schooltool | 07:39 | |
*** wrobel has joined #schooltool | 08:16 | |
*** vidasp has joined #schooltool | 09:35 | |
*** srichter has joined #schooltool | 10:14 | |
*** jfroche has joined #schooltool | 10:49 | |
*** mgedmin has joined #schooltool | 13:21 | |
mgedmin | http://jonathancarter.co.za/im-bringing-edgy-back | 13:31 |
---|---|---|
mgedmin | look at the screenshot: http://jonathancarter.co.za/images/s3-tuxlab-home.png | 13:31 |
*** ignas has joined #schooltool | 13:31 | |
Aim2 | 02:38 < dudanogueira> Aim2, didymo vidasp ??? | 13:58 |
Aim2 | yo | 13:58 |
Aim2 | slow response :P | 13:58 |
*** alga has joined #SchoolTool | 14:58 | |
*** mgedmin has quit IRC | 15:49 | |
*** vidasp has quit IRC | 16:08 | |
*** jstraw has joined #schooltool | 17:23 | |
*** jstraw is now known as Lumiere | 17:23 | |
*** thisfred has joined #schooltool | 17:52 | |
*** aelkner has joined #schooltool | 17:56 | |
aelkner | th1a: aty? | 17:58 |
aelkner | are there you? | 17:58 |
th1a | aelkner: Hi. | 17:59 |
aelkner | Will should be joining any moment now. | 17:59 |
jfroche | th1a: hello, got the news from Nicolas ? | 17:59 |
*** Aiste has quit IRC | 17:59 | |
*** wdickers has joined #schooltool | 18:00 | |
th1a | jfroche: Hi. Haven't read email yet. | 18:00 |
wdickers | morning | 18:00 |
aelkner | Hey Will | 18:01 |
Lumiere | hi will | 18:01 |
aelkner | I want to start by summarizing yesterday's comclsions: | 18:01 |
aelkner | 1) The ZIS does not know about the app, it just hold the messages passed by agents. | 18:02 |
aelkner | 2) The app doesn't know about the ZIS OR the agent, it just holds the data in question. | 18:02 |
aelkner | 3) the agent, be it schooltool or moodle knows of both the ZIS and the app. | 18:03 |
aelkner | It looks into the apps db and does the communication wth the ZIS on the apps behalf. | 18:03 |
aelkner | Tom, does that sound right? | 18:03 |
wdickers | So you want the agent to modify the ZODB instead of the app doing it? | 18:04 |
th1a | Well, the application needs to know a little about the agent, in most cases. | 18:04 |
th1a | It has to know to send it messages in some circumstances. | 18:04 |
th1a | Which brings up an important point... | 18:04 |
th1a | It can be very useful to simply make an agent that only handles subscription and sends requests for data, but doesn't provide any info to the Zone. | 18:05 |
th1a | So it only asks for data, never provides it. | 18:05 |
th1a | That kind of agent is way easier to write. | 18:05 |
th1a | Requires far fewer hooks into the application. | 18:06 |
th1a | And yes, the agent has to know about both. | 18:06 |
wdickers | But what would the agent have to change. Is it only adding/removing students and changing their attributes? | 18:07 |
th1a | So if SchoolTool is *providing* say, StudentPersonal data, you have to have hooks to add an event to the agent's queue in the db whenever a student is added. | 18:07 |
aelkner | Ahha! | 18:07 |
aelkner | That's what I was saing yesterday. | 18:07 |
th1a | wdickers: If SchoolTool just subscribes to StudentPersonal, yes, all it has to do is reach into the zodb and add or remove students. | 18:08 |
aelkner | Schooltool itself has to talk to the agent. You had led me to believe otherwise. | 18:08 |
th1a | It depends on what you mean by "talk." | 18:08 |
th1a | It has to put messages in the queue in the zodb. | 18:08 |
aelkner | Put something in its queue. | 18:08 |
th1a | Yes. | 18:08 |
aelkner | Ok, maybe you misunderstood when I was talking about Schooltool being a http server. | 18:09 |
aelkner | I meant that it sits still when noone is hitting on it. | 18:09 |
aelkner | That's when you said it doesn't need to talk to the agent. | 18:09 |
th1a | SchoolTool does. | 18:09 |
aelkner | How if it's sitting still. | 18:10 |
aelkner | I think you answered that just now with the db hook comment. | 18:10 |
aelkner | Am I right? | 18:10 |
th1a | I think so. | 18:10 |
aelkner | When a use hits on schooltool, if it updates the db, an additional queue entry needs to be added. | 18:11 |
aelkner | Is that right? | 18:11 |
wdickers | But only when it updets the information to which the agent is subscribed, right? | 18:11 |
aelkner | Sure. | 18:12 |
th1a | Yes. | 18:12 |
wdickers | But that means schooltool would have to keep track of that information. | 18:12 |
wdickers | what the agent subscribes to I mean | 18:12 |
th1a | Yes. | 18:12 |
th1a | You wouldn't subscribe to information that wasn't relevant to SchoolTool. | 18:12 |
wdickers | couldn't we simply have schooltool make queries of each change the db, and have the agent parse through to find relevant ones? | 18:13 |
th1a | Change which db? | 18:13 |
wdickers | the ZODB | 18:13 |
aelkner | Let's stick to concrete examples for clarity. | 18:13 |
th1a | Let's go through various messages. | 18:14 |
aelkner | If a user adds a student: | 18:14 |
th1a | Let's focus on messages. | 18:14 |
aelkner | Tom, I need to think about theis from SchoolTools point of view at some poiint. | 18:14 |
th1a | OK. Go ahead. | 18:15 |
aelkner | We should have an idea of the complete end to end interaction before we even code anything. | 18:15 |
aelkner | So if a hits the ADD button on a student page | 18:15 |
aelkner | That will add a student to the ZODB. | 18:15 |
aelkner | We need that to also result in a queue entry being added. | 18:16 |
aelkner | The agent is always alive, looking for queue entries to appear. | 18:16 |
th1a | No. | 18:16 |
th1a | The agent is awakened by a cron job and checks. | 18:17 |
aelkner | Ok, that wold work, too. | 18:17 |
wdickers | sorry, but could you explain roughly what a cron job is? | 18:17 |
aelkner | When the agent sees the queue entry, it interacts with the ZIS. | 18:17 |
Lumiere | cron is a daemon | 18:17 |
Lumiere | that wakes up every minute or so and checks a set of files to see if anything needs to be run | 18:18 |
th1a | Cron starts a process at a scheduled time. | 18:18 |
Lumiere | look at /etc/crontab | 18:18 |
aelkner | It's the way Unix allows us to have a process run every n minutes, hours, days. | 18:18 |
wdickers | ah, so the agent doesn't awaken by itself, it needs that process | 18:18 |
th1a | e.g., cron (this is a unix thing) will start the agent every 15 minutes. | 18:18 |
wdickers | got it | 18:18 |
aelkner | The agent IS the process. | 18:18 |
th1a | wdickers: cron is the simplest thing that could possibly work in this case. | 18:18 |
aelkner | It's not very efficient to be constantly starting process, but it IS the simplist. | 18:19 |
th1a | where were we? | 18:20 |
aelkner | I finished my end-to-end. | 18:20 |
aelkner | But I have a question: | 18:20 |
aelkner | You refered to the database hook that causes the queue entry to be added when a student is added. | 18:21 |
aelkner | I know about stored procedures in sql database. | 18:21 |
aelkner | How does one do this with the ZODB? | 18:21 |
th1a | We just have to create an object to store the data. | 18:22 |
th1a | I'm not sure what the best way to do that will be. | 18:22 |
th1a | Worst case scenario, storing it as XML. | 18:23 |
aelkner | I wouldn't think that wold be necessary. | 18:23 |
th1a | I don't think so either. | 18:23 |
aelkner | We just need it in a form that the agent can understand. | 18:23 |
aelkner | The agtent will create the xml to talk to the ZIS. | 18:23 |
th1a | Yes, but you've got hundreds of different objects. | 18:24 |
th1a | Data objects. | 18:24 |
aelkner | In schooltool? | 18:24 |
th1a | In SIF. | 18:24 |
aelkner | Once again, the agent concern, not schooltool's. | 18:24 |
th1a | Well... | 18:24 |
th1a | Right now the agent doesn't know anything about specific data objects. | 18:25 |
th1a | So when it is passing along the specific data about, say, a student, it is going to pass it along as a blob. | 18:25 |
th1a | It doesn't try to understand it at all. | 18:26 |
*** jfroche has quit IRC | 18:26 | |
th1a | So SchoolTool would have to package up the blob properly. | 18:26 |
aelkner | If the agent is specific to schooltool, why shouldn't it know about the data? | 18:27 |
wdickers | what exactly is the information that is being passed? | 18:27 |
th1a | I guess you could do that, but it doesn't really matter which side you're coding on. | 18:27 |
th1a | It is some custom code either way. | 18:27 |
th1a | However, this is the point where auto-generating classes from the XML Schema might be handy. | 18:28 |
aelkner | That's fine, but still in the agent. | 18:28 |
th1a | No. Then both SchoolTool and the agent could share the same data objects. | 18:28 |
th1a | That would be how you'd pass the messages. | 18:29 |
th1a | It is not exactly a lightweight solution though. | 18:29 |
aelkner | I think it's important to devide and concure to keep things simple. | 18:30 |
th1a | We're getting into one part of this I haven't given much thought to. | 18:30 |
aelkner | schooltool should only have to add a simple object like a list or dictionary to "Chesty" off of the root. | 18:30 |
aelkner | The real heacy lifting should be done by te agent. | 18:31 |
aelkner | Will, when does your bell ring? | 18:31 |
th1a | aelkner: Realistically it probably isn't heavy lifting on either side. | 18:33 |
aelkner | By that I meant XML stuff and ZIS awareness. | 18:33 |
wdickers | in about 5 minutes | 18:33 |
aelkner | We should set up another meeting. | 18:33 |
aelkner | Will this is really going fast now. | 18:33 |
wdickers | yeah, I can see | 18:33 |
aelkner | You might want to put aside some hours this weekend to continue. | 18:34 |
wdickers | Already done, and I hope you'll be able to come on saturday | 18:34 |
aelkner | Not this sat. | 18:34 |
aelkner | By "put aside", I mean, can you give us a fixed time to expect you to be available? | 18:35 |
wdickers | Yes, from 7-10 on saturday, and 6-10 on sunday | 18:35 |
aelkner | That's terrific. | 18:35 |
aelkner | Tom. How does that work for you? | 18:35 |
aelkner | Will please send yourself a reminder of those times (if Tom concurs) so that you are sure to be there. | 18:36 |
aelkner | Tom? | 18:37 |
wdickers | I will, and I'll check the logs later for any convo | 18:37 |
aelkner | Great. I'll proceed with Tom on the assumption that you are reading the logs. | 18:37 |
th1a | Uh... no guarantees on weekends. | 18:37 |
th1a | I'll work on the message passing question today. | 18:38 |
aelkner | I'm more concerned with the end to end then the particulars about message passing. | 18:39 |
aelkner | We need to have a picture (as clear and simple as possible) of all of the parties involved. | 18:39 |
th1a | I'm down to implementation details on my end. | 18:39 |
aelkner | But you can't operate in a blcak box. Everything's linked. | 18:40 |
*** wdickers has quit IRC | 18:40 | |
*** tiredbones__ has quit IRC | 18:41 | |
aelkner | Why waste time coding somthing that isn't going to fit? | 18:42 |
th1a | It'll fit. | 18:43 |
aelkner | I'm glad you have it in your head. I'm sure that makes you happy. But I don't know what you're doing? | 18:44 |
aelkner | In other wods, don't expect that someone else could pick up and finish something that isn't clear. | 18:44 |
aelkner | We need a plan! | 18:45 |
th1a | I'm not expecting anyone else to finish it. | 18:45 |
aelkner | But Will and I were supposed to contribute. Are you saying you don't need us? | 18:45 |
th1a | I need you to write the SchoolTool part! | 18:46 |
th1a | I'll tell you what kind of messages I need. | 18:46 |
aelkner | But there isn't just one schooltool part. There's schooltool and the agent. | 18:47 |
th1a | aelkner: I'll have a crack at the message passing format. If you don't like it, it will be easy to change that. | 18:48 |
aelkner | So Will and I should decide for ourselves how the SchoolAgent and schooltool itself should be written? | 18:49 |
th1a | Basically. | 18:52 |
th1a | You'll subclass my generic Agent class. | 18:52 |
th1a | I'm only working on the generic class. | 18:52 |
aelkner | Ok. | 18:53 |
aelkner | Keep us informed of your progress. | 18:53 |
th1a | I'm plugging away. | 18:54 |
aelkner | I mean let us know when you reach a milestone. | 18:55 |
*** aelkner has quit IRC | 18:59 | |
*** thisfred has quit IRC | 20:51 | |
*** srichter has quit IRC | 20:52 | |
*** Lumiere has quit IRC | 21:00 | |
*** ignas has quit IRC | 21:01 | |
*** jstraw has joined #schooltool | 21:02 | |
*** mgedmin has joined #schooltool | 22:11 | |
*** jstraw has left #schooltool | 22:26 | |
*** pcardune has joined #schooltool | 23:00 | |
*** kjaer has joined #schooltool | 23:23 | |
kjaer | Awesome project guys. | 23:23 |
kjaer | The buildscript for the alpha2 build fine with python 2.4.4 | 23:23 |
kjaer | If you edit the configure file that is. So that should probably be updated. | 23:24 |
kjaer | However, the default login info doesn't work. | 23:24 |
kjaer | Which is a major problem, can I add a manager or edit the current one in any way ? | 23:24 |
mgedmin | that's interesting | 23:25 |
mgedmin | you can reset the manager's password from the command line; schooltool-server.py has the option, IIRC | 23:25 |
kjaer | Okay. You can try for yourself at cruiseback.dk:3070 | 23:25 |
* mgedmin tries | 23:27 | |
kjaer | How exactly do I edit the managers password ? | 23:27 |
mgedmin | I'm not actually a current developer; I was more involved in the past | 23:27 |
mgedmin | ./schooltool-server.py --help | 23:28 |
kjaer | Okay, figured it I think. | 23:28 |
mgedmin | -r, --restore-manager password | 23:28 |
mgedmin | (read password from the standart input if 'password' | 23:28 |
mgedmin | is '-') | 23:28 |
* mgedmin wonders what 'schooltool-server.py --manage' does | 23:29 | |
kjaer | schooltool-server: error opening file /home/zope3/st2006-alpha2/libs/lib/schooltool.conf.in: [Errno 2] No such file or directory: '/home/zope3/st2006-alpha2/libs/lib/schooltool.conf.in' | 23:29 |
kjaer | So it seems like the build failed :-) | 23:30 |
kjaer | It has some rought edges ;-) | 23:32 |
mgedmin | hmm | 23:33 |
mgedmin | jinty knows everything about builds | 23:33 |
mgedmin | ignas knows everything about the code | 23:33 |
mgedmin | both are probably asleep now | 23:34 |
mgedmin | I suggest you try the mailing list | 23:34 |
* mgedmin yawns | 23:34 | |
*** mgedmin has quit IRC | 23:34 | |
kjaer | Are you planning to authenticate against ldap or similar ? | 23:36 |
*** alga has quit IRC | 23:38 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!