IRC log of #schooltool for Friday, 2008-01-25

*** didymo has joined #schooltool00:43
*** Fujitsu has joined #schooltool01:14
*** alga has joined #SchoolTool01:49
*** Fujitsu has quit IRC01:51
*** alga has quit IRC04:20
*** subir has joined #schooltool05:51
*** _lunix_ has joined #schooltool06:02
*** _lunix_ has left #schooltool06:03
*** pcardune has joined #schooltool06:33
*** lisppaste5 has quit IRC07:30
*** lisppaste5 has joined #schooltool07:40
*** pcardune_ has joined #schooltool12:35
*** didymo has quit IRC12:41
*** pcardune has quit IRC12:53
*** subir has quit IRC13:33
*** pcardune_ has quit IRC13:50
*** alga has joined #SchoolTool13:58
*** pcardune has joined #schooltool14:01
*** alga_ has joined #SchoolTool14:08
*** alga has quit IRC14:26
*** alga has joined #SchoolTool14:47
*** aelkner has quit IRC15:03
*** ignas has joined #schooltool15:24
*** mgedmin has joined #schooltool16:05
*** aelkner has joined #schooltool16:15
*** pcardune has joined #schooltool16:46
aelknerignas: ayt?16:59
mgedminth1a: hi, have you seen my email?16:59
aelknermgedmin: since ignas and th1a are not responding to us at the moment, could you try sometihng for me?17:00
mgedminuh oh17:01
aelknercould you try following this link?17:01
aelknerto see if it lets you17:01
mgedmin"Welcome back, Marius. Before using Google Docs, we need to know a little more about you. Please enter the additional information below. "17:01
mgedminand then17:02
mgedmin"We're sorry, does not have permission to access this spreadsheet."17:02
aelkneri had a feeling17:02
mgedmin"This invitation was sent to, but you are currently signed in as"17:02
aelkneri need to share this doc with ignas, but it's not mine17:02
aelknerit was shred with me by the principal of the school here17:03
aelkneris there a way in google docs to save to one's machine?17:03
* mgedmin never used google docs17:03
*** jfluhmann has joined #schooltool17:08
*** pcardune has left #schooltool17:09
*** pcardune has joined #schooltool17:09
*** pcardune has left #schooltool17:09
*** pcardune has quit IRC17:09
*** pcardune has joined #schooltool17:09
aelknerignas: I created my own ods file with the first three students and attached it to an email i just sent you17:09
*** jfluhmann has left #schooltool17:09
pcarduneso there was funny stuff going on with my client17:10
ignasaelkner: and17:10
ignasreading email ;)17:10
ignasaelkner: i'd advise view and annotations17:12
ignason top of basicperson17:13
aelkneri'm glad as that seems to have less impact than having many different person objects17:13
aelknerhave you done this kind of work for lyceum?17:14
aelknerif so, i'd like to see your example17:14
aelknerbrb, my brother just arrived here17:15
ignasaelkner: no, not really, basicperson was initially implemented for lyceum17:19
ignasaelkner: by the way, i'd actually not use annotations, but use a separate top level container for the additional data17:44
ignaslinked to persons by person ID17:44
ignasto keep it even more orthogonal17:44
aelkneri'm not sure i understand17:45
aelkneri know that annotations are stored with the object17:45
aelknerso why the need for another container17:45
ignasbecause annotations are stored with the object17:45
ignasit couples your extra data closely with the schooltool person object17:45
ignaschanging the person object to a different one becomes more difficult in the long term17:46
ignaschanging the additional data, or removing the additional data17:46
ignasis more difficult that way as well17:46
aelkneri have to admit i can't visualize the difficulties you suggest17:47
aelkneri mean, annotations are just a dictionary17:47
ignasmost annotations keep a reference back to the object they belong to17:47
ignasto make permissions work for example17:47
ignasso if you let's say want to remove your addons from the system and do not include the module17:48
ignaswith extra data17:48
ignasevolution of the person object becomes tricky17:48
ignasbecause there is a broken object (object without a proper definition in python code available to your zope instance)17:49
ignasthat refers to the person17:49
ignasthe difference between implementations17:49
ignasis quite small anyway17:49
ignasbut i think (i might be wrong) that the more separated different components are17:49
ignasthe easier it will be in the future17:50
ignasso if someone will try and migrate person objects to an SQL database17:50
ignasit will be a lot easier if there will be no annotations for example17:50
ignasand being able to disable the additional data17:50
ignasby changing one line in ZCML17:50
ignasmakes it for a nicer pluggability overall17:51
ignasbecause your "plugin" lives in a separate isolated space17:51
ignasthat only refers to persons through their __name__'s17:51
ignasan object tree in my humble opinion is not as pluggable as separate "tables" or table like structures17:52
ignasbecause all the modules live in multiple places (like on every single person)17:52
ignasinstead of one place17:53
ignaslike top level container17:53
ignasbut that's just my opinion17:53
ignasi am sure there are Zope3 programmers that would disagree with me17:53
aelkneri don't understand what you mean by tables17:55
ignastop level containers with only one kind of objects in them17:55
aelknerand modules living in multiple places17:55
ignaslike - app['courses']17:55
ignasso courses are only in app['courses']17:56
ignaswhile timetables are in every person and every section17:56
aelknerthe thing is, you've been dealing with the schooltool data model for a lot longer than I17:57
aelknerso I can't fully grasp the issues you lay out here17:57
aelknerbut i'm happy to follow your suggestion17:57
ignaslet me try to explain it until you understand17:58
ignasi need to explain it a bit more to be sure whether i am thinking right ;)17:58
aelknerunderstood :)17:58
ignaslook at evolve14 in schooltool17:58
ignasit only evolves person object17:58
ignasfrom one kind to another17:58
ignasand watch how many different things that are "unrelated" to a person, and are in easy annotations17:59
ignashave to be known and thought about17:59
ignasto modify person object17:59
ignasas in - you only want to fix persons, but suddenly you have to think about calendars, timetables, relationships18:00
ignas                if (hasattr(annotation, '__parent__') and18:00
ignas                    annotation.__parent__ is person):18:00
ignas                    annotation.__parent__ = new_person18:00
aelknerthat's clear18:01
ignasis the part that might not work if the definition for that particular annotation is not in the code base anymore18:01
ignasso that's why i think that plugins should be as separate from schooltool as possible18:01
aelknerand your'e suggesting that i don't use annotations for this reason, right?18:01
ignasyes, i suggest that you can just do something like lyceum does with journals18:01
aelknerand that i create my own person object?18:01
aelkneri mean18:02
ignasjournals are stored in a separate BTree keyed by section_id18:02
aelknermy own sla_person_extensions?18:02
ignaslike app['schooltool.sla.demographics']18:02
aelknerso, the top level container will only exist here at sla18:02
aelknerso other schooltool sites won't be bothered18:02
ignasso IDemographics(person) will do something like:18:03
aelknerand there will be no need for evolving sla stuff that's not even there18:03
aelknerapp['schooltool.sla.demographics'] will contain objects18:04
ignasreturn app['schooltool.sla.demographics'][person.__name__]18:04
aelknerof type SLADemographics for instance?18:04
ignasyou will need a subscriber that removes the demographics data18:04
ignaswhen person is deleted18:04
aelknerand I will override the adapter for IDemographics18:04
ignasbut it's easy to do18:04
ignasor add a18:04
ignasif you want to18:05
ignasor call it some other name18:05
ignaswhichever makes sense18:05
aelknerso I create a package called, let's day, sla.demographics18:06
aelknermy sla buildout includes it18:06
aelknerit has the new object i create18:07
aelknerwhich has InitBase derivitive to create the container18:07
aelkneralso overrides for:18:07
ignasyes, and add an evolution script for old SLA instances if they exist18:07
aelkner1) BasicPerson views18:07
ignasin schooltool.sla.generations18:07
ignasand not overrides18:08
aelknerno old sla instances yet18:08
ignasi think a separate layer for schooltool.sla18:08
ignaswould be good enough18:08
aelknerso I create the layer in my sla package and override the default layer there, right?18:09
ignaslook at lyceum18:09
aelknerwill do18:09
ignasi think tizard has a layer too18:09
ignasto see how a layer for a school setup is done18:09
aelkneryou have the same demographics logic (creating the other container) there, too?18:10
aelknerfor person demographics, i mean18:10
ignasyou see i don't need to ;)18:11
ignasthere was no basicperson back when I did lyceum18:11
ignasbasicperson *is* lyceum person18:11
aelkneryou cheated18:12
ignaswell - during cando sprint in washington18:12
ignaswe looked at schooltool.person schooltool.demographics18:12
ignasand decided that basicperson is way better as a default18:12
ignasso i had to refactor lyceum person out of lyceum.person into schooltool.basicperson18:12
aelkneradmit it, you cheated :)18:13
aelknerso i'm not messing with basicperson or needing to even crate a new person, so i'm really happy18:13
aelknerit's a good plan18:13
ignashope it works out18:14
aelknera question of a different sort:18:14
aelknerwhen i create sla.demographics package18:15
aelkneris that an ok name for the package?18:15
aelknerthat's not my whole question , but...18:15
ignasyou mean schooltool.sla.demographics ?18:15
ignasor is your school setup named just plain "sla"18:15
ignasyes to statement 1 or statement 2? ;)18:16
aelknerschooltool is the package root18:16
aelknersla is a subpackage18:16
aelknersibling woth course18:16
ignasoh, ok18:16
aelkneri'm asking not telling :)18:16
aelkneractually, maybe i'm telling about sla18:17
aelknerbut asking if that's ok18:17
ignasi think so18:17
aelkneris lyceum a pakage under schooltool?18:17
ignasi have initially created it outside of the namespace18:17
ignasi think tizard is not in the schooltool namespace too18:18
aelknerwhat is tizard?18:18
aelkneranother school?18:18
ignasthe school Ian Benson is working with18:18
aelknerin the UK18:18
aelkneri don't see a lyceum buildout package18:20
aelknerhow does that work?18:20
ignasit's in bzr18:20
ignaslyceum is in bzr too18:20
ignaslook in
ignasor somewhere around there18:21
aelkneri'm in
aelknernot there?18:21
ignas herew18:22
ignasor here if you want the buildout
ignasthough lyceum can be built without buildout18:22
ignasto make it easier to test under buildbot18:23
aelknerignas: i'd like to keep things as simple for me as possible18:27
aelknerfor instance:18:27
aelknerthe sla package off of trunk18:27
aelknerhas under, the src dir18:27
aelknercontaining schooltool, under which is sla18:27
aelknerso i think that make sla a sibling of course18:27
aelkneror any other schooltool subpackage18:28
ignassla sibling?18:28
ignaswhy do you want to split sla into separate parts?18:28
ignasif you want it simple18:28
ignasat least at the moment18:28
ignasyou could just have something like18:28
ignasschooltool.stapp2008spring package18:29
ignaswith all the things you need in it18:29
ignaslike schooltool.sla.demographics18:29
ignasand schooltool.sla.othercrazystuff18:30
ignasin the same egg18:30
ignasin the same checkout18:30
ignasin the same schooltool/sla/ directory18:30
ignaswith 1 make file that runs an sla school18:30
ignasand if you will have the time, or will want to18:30
ignasyou will be able to split it off later i think18:31
ignaswell - maybe you'd want to do 1 thing differently from schooltool.stapp2008spring18:31
ignasand instead of keeping the main configure.zcml in schooltool/sla/18:31
ignaskeep it in schooltool/sla/app/18:31
ignasto make a creation of schooltool/sla/ namespace package possible in the future18:32
ignaswithout changing configuration for old sites18:32
aelknerso, i already have the sla package18:36
aelkneradn i could keep everything in there18:36
aelknerincluding haveing subpakages for demographics18:36
aelkneras weel as two new objects that sla needs18:36
aelknerand CSAP18:36
ignasand i even think that you should18:37
ignaswhat i am suggesting is - moving configure.zcml from sla to sla.app18:37
aelknerso that's what i mean by simple, no need to think of different SVN packages18:37
ignasfor future proofness18:37
ignaswhat I can do for you even18:38
ignasis to make schooltool.sla a buildout by itself18:38
ignasso you won't need any additional checkouts18:38
ignasjust checkout sla and "make run" it18:38
aelkneri already created sla.buildout18:39
aelknerand sla18:39
aelknersla.buildout brings in sla18:39
aelknerbasically i cloned jelkner-buildout18:39
aelknerand jelkner200718:39
ignasi see, i just find not having a separate buildout a bit more convenient, but it's up to you18:39
aelknerthe less i have to change now, the better i feel18:40
aelknerso that i can get things up and running here18:40
aelknerso, i believe that i know what to do now which is great18:43
ignasglad to help ;)18:44
*** pcardune has quit IRC19:26
*** wbrady has joined #schooltool19:33
*** wbrady has quit IRC20:20
*** ignas has quit IRC21:07
*** aelkner has quit IRC21:10
*** th1a has quit IRC21:19
*** th1a_ has joined #schooltool21:21
*** jfluhmann has joined #schooltool21:39
*** jfluhmann has left #schooltool21:41
*** alga has quit IRC21:49
*** mgedmin has quit IRC21:56
*** th1a_ has quit IRC22:00
*** alga_ has quit IRC22:13
*** didymo has joined #schooltool23:22

Generated by 2.15.1 by Marius Gedminas - find it at!