IRC log of #schooltool for Monday, 2008-12-22

*** mgedmin has joined #schooltool11:13
*** yvl has joined #schooltool12:47
*** mgedmin has quit IRC14:20
*** jstraw has joined #schooltool14:25
*** th1a has joined #schooltool14:43
*** jelkner has joined #schooltool14:48
*** ignas has joined #schooltool15:13
*** jstraw has quit IRC15:34
th1aI just sent the 2009 plan I sent to Mark to the dev list(s).15:49
*** fsufitch has joined #schooltool15:51
fsufitchjelkner: ping15:51
fsufitchth1a: ping15:51
th1afsufitch: Pong.15:53
th1aWhat's up?15:53
* ignas read the plan15:59
fsufitchth1a: oh hi16:12
fsufitchyou responded16:12
fsufitchso, just making sure that it's EduCon 2.1 we're attending16:12
fsufitchto make sure i got the right websitre that im looking at16:12
th1afsufitch: That's it.16:15
fsufitchth1a: cool16:17
fsufitchum.. then why are we not on the program? ;)16:17
th1aWell, you're not giving a full talk.16:17
th1aAlso, we'll get you on there.16:17
th1aYou got the mails about the plan though, right?16:17
th1aThis is a relatively informal conference.16:18
fsufitchyeah i got them16:20
fsufitchand i got it :-P informal16:20
jelknergood morning all16:20
th1aGood morning jelkner.16:21
aelknermorning th1a16:27
th1aGood morning aelkner.16:28
ignasHi everyone16:29
jelknerth1a: excellent plan!16:30
th1aThank you jelkner.16:30
jelkneri would add one thing, though16:31
th1aignas, yvl: Good evening.16:31
th1auh oh.16:31
jelknerthere is no mention of our growing group of outside developers16:31
ignasyvl's not here16:31
jelknerfsutichi, ccary, replaceafill16:31
th1ajelkner: Well, this is the plan specifically aimed at Mark.16:32
jelknerahh16:32
*** jstraw has joined #schooltool16:32
th1aIt is essentially the budget proposal.16:32
jstraw'morning16:32
th1aSo it really only covers things we're paying for.16:32
th1aHi jstraw.16:32
jelknerbut wouldn't he want to know that the ecosystem is growing?16:32
*** dwelsh has joined #schooltool16:32
th1aI've told Mark about replacafil in the past.16:33
th1aIf that's what you're referring to.16:33
th1aOr do you mean something else?16:33
jelkneri just mean that there are now folks hacking on SchoolTool who he did not hire to do so16:33
jelknerthat's a good thing16:33
jelknermark of a project becoming a successful free software project16:34
th1aYes.16:34
th1aAlthough we're still a long way from successful in that area.16:34
th1aI'm not sure I want to draw too much attention to that yet.16:34
th1aAnyhow...16:35
th1aI'm not planning on doing much work this week -- as independent contractors you guys can pretty much decide what you want to do.16:36
th1aWhat are you thinking aelkner & ignas?16:36
ignasth1a: well, I am doing some clean up, seeing that everything that has/had to be merged is merged16:36
ignaspackages are proper16:36
ignasmaybe I will do another release even16:37
ignas(i have added passwords to import)16:37
th1aI was thinking that a pre-holiday release might be a bad idea.16:37
ignasand it seems that we are starting to plan the new demographics for this release16:37
th1aImmediately post-holiday is probably better.16:37
ignasth1a: yeah, makes sense16:37
th1aSo we don't get bug reports for Christmas ;-)16:38
ignasas in - what is involved and what we want to do16:38
th1aYes.16:38
th1aWe can spend most of the meeting talking about that, I think.16:38
jstrawwhat... bug reports are not good christmas presents?16:38
th1aaelkner: What's your status?16:38
aelkneri was going to work on cando bugs a little16:38
ignasjstraw: unless wrapped in functional tests - NO16:39
aelknerand coordinate with sla for the cas deployment16:39
aelknerthat's it16:39
aelknerunless you have a request16:40
th1aDo we have all the outstanding SLA requests covered now?16:40
th1aIs there anything left on the list?16:40
aelknerwell, there's the wizard-like form they requested for entering narratives within a section16:41
th1aIt is really just a new link.16:41
* th1a is looking at Launchpad...16:41
aelkneryou mean, we could just change the edit view to have next and previous buttons?16:42
th1alp is slow today...16:42
th1aYes.16:43
th1aExactly.16:43
aelknerthat's a good idea16:43
th1aCalling it a "wizard" makes it sound like way more than it is.16:43
aelkneri could look into that, too16:43
th1aActually, it is something we need to do in a lot of places.16:43
aelkneri'm just used to wizzrd as a term for a form that asks multiple questions16:44
th1aLike, after you enter a new student, go directly to another new student form, etc.16:44
th1aYes.16:44
aelknerso you have the intention of having next and previous in more than one place16:44
aelknerthat's sonds like a good idae16:45
th1aIt is a pattern.16:45
th1aIn a lot of cases in SchoolTool you'll need to do the same thing over and over.16:45
aelknerbut for now, sla would be happy with that feature for the narratives16:45
th1aRight.16:45
th1aNext question: should we have a meeting on the 29th?16:46
jstrawI don't really mind, I have to work anyways16:47
jelkneri won't be there16:47
jelkner(i'll be settling on the condo)16:47
aelknersorry about that, my ISP is flakey16:47
th1aAs the child of teachers, I don't celebrate New Years, which just signifies the bitter end of Christmas vacation.16:47
th1aBut basically, if aelkner and ignas aren't planning on working much next week, we don't need a meeting.16:48
aelknerthere won't be much to report, it's true16:48
ignastrue16:48
aelknerlots of holiday parties and all16:48
th1aI just don't want you to not know what to do the rest of the week.16:49
th1aEither way, it isn't a stress for me.16:49
aelknerth1a: could you asign some bugs to me, and i could choose something if the time allows?16:49
dwelshaelkner:  how about the one critical bug???16:50
th1aOK.16:50
dwelshaelkner:  the CanDo one???16:50
aelknerdwelsh: i'm in the middle of fixing that one16:50
dwelshawesome16:50
aelknerand i could do some others as well16:50
th1aSo, no meeting on the 29th?16:50
dwelshI'm going to work on CanDo website today and tomorrow.16:50
th1adwelsh: Cool.16:50
dwelshBringing everything up to date.16:50
aelknerth1a: so besides some cando bugs, maybe just one schooltool bug assigned to me would keep me busy for the next two weeks16:51
jelknerth1a: before you drop the bag, i'd like to talk briefly about philly16:51
th1aGo ahead jelkner.16:51
jelkneri saw chris's email16:51
th1aActually we're going to talk about demographics for a while, too.16:51
jelknerok16:52
jelkneri can wait16:52
th1aOK.16:52
th1aSo... demographics.16:52
th1aHow are you feeling about it ignas?16:52
ignaswell16:52
ignasif we do input fields with customizable labels16:52
ignasthat are in the same add person form16:53
ignasi don't see why not support not just text fields, and maybe even ordering16:53
ignasalso - the idea of having parent -> student relationship16:53
ignasand parents as separate objects16:53
ignasis something i think is more work that having customizable demographics form16:54
th1aignas: Yes, I think  you're right about the parent complexity.16:54
ignas*than having16:54
th1aotoh, things get ugly quick if you don't do that.16:55
ignasreally?16:55
th1aWell, you get into the whole sibling issue.16:55
ignasyes16:55
th1aAnd you also have an undefined number of contacts per kid.16:55
ignasyes16:56
ignasI am not sure sibling issue is best solved through third object16:56
th1aIf we only allowed two it would be pushing it.16:56
th1aReally?16:56
ignasi mean - i'd find it easier to have a link between two students for example16:56
ignasinstead of having a Parent/Contact container16:56
ignasbecause that avoids the data collection/management issues16:57
ignasso when you create this relationship - contact persons are merged16:57
ignascontact person lists16:57
ignasif you break it - copied to be the same for both students16:57
jstrawwhat critical bug is this?16:58
ignasthat means if you do it by mistake - you can recover by removing extra contacts from both students16:58
ignasand if you remove a student - nothing is lost16:58
th1aThis is not a bug -- it is the future demographics/contact system.16:58
ignasor - contacts are lost16:58
jstrawnm... I'll bug dwelsh later (I just messed up my client for a sec)16:58
ignasif it's the only student16:58
ignasi mean Manage -> Persons, Groups, Parents16:58
ignasseems a bit nasty16:59
ignasmaybe you could define usecases16:59
ignaswithout sticking to some implementation?16:59
th1aYes, but I think the edge cases get even nastier if you don't have parent objects.16:59
jelknerbe sure to keep in mind the parent logs in to see how there children are doing story16:59
ignaslike what tasks and in what ways is it going to be done17:00
jelknerschooltool is a web app, that story is powerful17:00
th1aLike, what if you have two half-siblings that have the same step-parents but different parents.17:00
ignasjelkner: i am keeping it in mind17:00
ignasth1a: hmm, now that one is nasty17:00
ignasso I guess we are picking the "support everything possible, even though it'll be complicated" way of things17:01
th1aAlso, these contacts might be non-parents, like, say probation officer, so they'll tend to not be shared among siblings.17:01
th1aWell....17:01
ignasbecause suddenly if we have these "parent" things17:01
ignasthat are not parents17:01
ignaswe can't do "sibling inference" from them anymore too17:02
ignasi mean - if 2 students have the same contact - it does not mean anything17:02
th1aThat's why I think sibling inference is a bad idea.17:02
jelkneri agree17:02
ignasso if we want to do siblings - we must do separate "contact" "parent" "sibling" stuff17:02
ignasalso - some of the contacts apparently will be employees17:02
ignasas in - they will be Persons17:02
th1aI don't see any reason we need to know explicitly who is a sibling.17:02
th1aSomeone else brought that up.17:03
jelkneryeah, forget siblings17:03
jelkneryagni17:03
th1aI might need to access all a kid's contacts.17:03
th1aOr, I might want to send an email to all the contacts on my list of adult contacts.17:03
jelknerwe should get the word right17:03
th1aEh, forget the second case there.17:04
jelknerwe use parent/guardian17:04
jelknerbut the idea is a responsible adult17:04
jelknerfor that student17:04
jstrawthere should be no separate parent from person either17:04
jelknerlegally responsible17:04
jstrawimo17:04
jelknercontact doesn't really capture that17:04
jelknerit seems more informal than what we want17:05
th1aWell... schools may use it different ways.17:05
jelknerbut as long as we are dealing with minors17:05
jelknerthe role of legal responsiblity will always be important to a sis17:06
aelknerresponsible adult sounds like a good name for the contact17:06
jelknerall minors have such legal guardians17:06
aelknerallowing that person to login as well17:06
th1aI don't think this case is limited to responsible adults.17:06
jelkneror they can't be in school17:06
aelknerto check the student's record17:07
th1aI think contact is the right term -- but a contact doesn't necessarily get access.17:07
jelknerbut capturing who those legal guardians are is important17:07
th1aThis may be the person I call if Johnnie breaks his arm.17:07
jelknerthey are the ones permitted by law to see the students records, for example17:07
th1aAnd mommie and daddy aren't accessible.17:07
th1aNo, this is not necessarily those people.17:07
jstrawyea... there is the emergency contact list too17:07
ignasok, so we need contact management, and a list of contact people that can be related to Students in various ways "Parent" "Legally responsive" "Officer" "Whatever", my question is - do these contact/responsible people ever map with school tool persons?17:07
jstrawignas: is there any reason they can't be persons as well?17:08
jelknerthat kind of thing is better done as fields on the Student17:08
jelknerwe don't need a seperate person for that17:08
jelknerthey never need to log in, for example17:08
jstrawjelkner: I disagree, there is a lot of information and a variable number of those contacts17:08
th1aThey could be persons, or they could be simplified persons.17:08
ignasjstraw: well - now you have 10k of persons, you will suddenly have 30K of persons, and 20K of them will have totally different management/archival semantics17:08
ignasjstraw: also - teachers/admins will not want to see them most of the time they are dealing with persons17:09
jstrawjelkner: people don't all log in (in a lot of schools students don't login)17:09
th1aI'm thinking this is a separate set of persons than current schooltool persons.17:09
jstrawignas: ok...17:09
ignasso either they are not persons, or we rework persons and start separating teachers/students/employees/contacts17:09
th1aIf a teacher is also a parent they get two unrelated objects.17:09
jstrawignas: I like that idea somewhat better17:10
ignasjstraw: yes?17:10
jstrawI think the better separation is students / adults17:10
ignasyeah, that might make some sense17:10
jstrawin reality students are the type of person with the actually different piece of data we want to record17:10
th1aHm...17:11
jstrawemployees/contacts are a smaller set of data17:11
jstrawthat also helps the 'advisor' role that SLA has too17:11
th1aYes, but contact-persons don't do much directly, ever.17:11
th1aSomeday a contact-person might log in and look at calendars, but they'll probably never have their own calendar.17:12
th1aFor example.17:12
ignasth1a: well - i think the plan was, at least in the long run to have some contact persons (the legally responsible ones) log in and see grades for example17:12
ignasyeah17:12
ignasthat's true17:12
ignasthey will never have their calendars17:12
jstrawth1a: yes, but that is part of their profile17:12
ignasthey only get readonly access on the student they are related to data17:12
jstrawand should be configurable17:12
th1aI'm just saying that students and teachers are more alike each other than teachers are like contact-persons.17:13
jstrawth1a: I don't really see that...17:13
jstrawth1a: students have full demographic data, teachers and contacts have more minimal contact information17:14
jstrawso from a data stand point I see students different17:14
jstrawfrom an access standpoint, I think that using groups would be the best way to configure all of that17:14
th1aFor SchoolTool 1.0, contact-persons are just for organizing relationships and contact info.17:15
th1aThey don't log in at all.17:15
th1aMaybe in the future they do.17:15
jstrawit also lets you take a person back and forth between different levels of access17:15
jstrawwithout recreating data17:15
th1aThe contact/teacher use case is not important.  If I have to do double address entry when a teacher who is also a parent moves, that's not a big deal.17:16
jelknerth1a: then why not just add them as data to the Student?17:16
jelknerwe should do the simplest thing that works17:16
jelknerwe get into trouble when we do this big design up front17:17
jelknerlet the stories drive the solution17:17
ignasjelkner: because suddenly you have problems with "1 contact has 2 students"17:17
th1aIt becomes a many to many relationship very quickly.17:17
ignasjelkner: and yes - in this case i am all for simple17:17
ignasth1a: sorry, but I knew like 2 guys in my class that had their siblings in the same school17:18
th1aUsing hacks to implement a many to many solution with a one to one design is not easier.17:18
ignasth1a: i mean - it is a valid usecase, but you are suggesting something that takes a month over something that takes a week...17:18
ignasth1a: i'd go with - if one contact for 2 students - update it twice17:19
th1aThe other thing is that it makes the student demographic forms much longer.17:19
ignasth1a: ?17:19
ignasth1a: tabs, separate objects17:19
ignasa list of small contacts objects17:19
ignasthat you can add any ammount to a student17:19
ignasthat are stored on a student17:19
ignaswhat I am opposing is  a global contacts container17:19
th1aHrm.  I think I'm proposing small contacts objects.17:20
th1aIt is just where they are put?17:20
ignasyes, because in one case - there are no relationships17:21
ignasthus there are no "dangling" contacts17:21
ignasin the contacts container17:21
ignasthere are no problems with "delete contacts when deleting person"17:21
ignascontact is a property of a person and has the same lifetime and permissions as the person17:22
th1aSo you're not dealing with the sibling issue then.17:22
th1aThe thing is, people who weren't just mistakes should never be deleted anyhow.17:23
ignasnope, no siblings17:23
ignasth1a: yes, but mistakes will happen17:23
ignasespecially while the system is young17:23
jstrawignas: as an extension to that17:23
jstrawhow about just adding people to the system (same as any other)17:24
jstrawand just linking to them17:24
ignasth1a: i mean - the suggestion was saving some time, by not updating identical contacts twice17:24
th1aWhat if you assumed that you don't delete contacts when you delete the student?17:24
ignasth1a: i am not convinced this usecase mandates the additional month of work17:24
jstrawso instead of making small objects attached to a student17:24
jstrawmake a list of links17:24
jstrawand worry about what type of user they are later17:24
jstrawit saves the multiple stores work, and provides the many to many support17:25
ignasjstraw: what about data retention laws? suddenly you have 3x the amount of people, and suddenly you don't want to see most of them in person lists17:25
jstrawignas: use groups to filter17:25
ignasjstraw: Group, Section , member/leader/teacher selection widgets17:25
jstrawwe don't use the teacher/student groups nearly enough in SchoolTool17:26
ignasjstraw: you know how fast it is with CanDo at the moment17:26
jstrawignas: so we fix it17:26
th1aI'm just having trouble understanding why one is so much more complicated than the other.17:26
ignasjstraw: +week to the estimate17:26
jstrawignas: ok... that work still needs to be done to groups anyways17:27
*** fsufitch has quit IRC17:27
th1aI mean, if it really takes a month to do this with the ZODB, we probably should have killed this entire project three years ago.17:28
ignasit's not data structures17:28
ignasand not ZODB17:28
ignasit's ui, you want to "manage" contacts, so you want to list contacts without persons attached, you want to have a way of querying all persons for a contact17:28
ignasso you have separate views for contact objects, for contact objects on person17:29
th1aAh.  Well, just because we can do those things doesn't mean we have to.17:29
* ignas can't understand why on one hand you want it "good" and on the other hand "bad" at the same time17:30
ignasi mean - we discuss edge usecases like siblings of divorced parents17:30
ignasand use "yagni" argument 5 lines after that17:30
th1aWell, we're having a discussion.17:31
ignasif we want it the most simple way - contact objects on a person, no thinking about relationships, no thinking about collecting unused contacts, no contact list management/filtering/searching17:31
ignasif we want it done well17:31
ignasso we add a Contacts container17:31
ignaswe have filtering to find dangling contacts17:31
ignaswe have proper filtering and searching for contacts17:31
ignasalso we have views for contacts, to see which persons are attached to them properly17:32
jstrawignas: yagni doesn't mean don't discuss, (in fact it means for sure do) it means don't implement until you need it17:32
th1aWhat I'm trying to say at this point is that multiple siblings in a school is not an edge case.17:33
jstrawand, it is easy to be a little overzealous in using it17:33
jelkneri'm concerned that if we commit to a big investment in new infrastructure before we have real users and real use cases, we are going down the wrong road17:33
jstrawjelkner: are you going to need that infrastructure in 2 years17:34
jstrawor better yet are we going to ask to build it out by then17:34
jelknerthen write it in two year17:34
* jstraw thinks this is more a brainstorming session17:34
th1aI'm just trying to figure out why one is a big investment compared to the other.17:34
th1aYes -- brainstorming!17:34
jstrawjelkner: not a good idea, it will add 1 month to the time it takes17:34
th1aDon't panic.17:34
jstrawjstraw: XP has a hole, it throws yagni over good design17:34
ignasbecause of locality, one is simple dangling object on a person, that also is dumb17:34
ignasother is "global container" "objects" "relationships"17:35
jstrawjelkner even :)17:35
jelknerjstraw: all of the successes we have had in the past year have come from writing real code for real people, and *not* listening to what you just said17:35
th1aWe don't need a general XP discussion.17:35
jelkneri'm not sure about that17:36
th1aI am.17:36
* jstraw takes it to pm17:36
th1aI think we're in agreement, ignas and I at least, that we just need to be able to associate several simple contact items with a student.17:37
jstrawth1a: that works for me17:37
jstrawignas: would a copy function be a possibility17:38
th1aWe have no pretense of deciding this today, but I'd like to at least confirm where we are.17:39
* ignas is trying to estimate17:39
ignasth1a: yes, also - if need will arise, migrating from contacts on person to global contacts directory17:40
ignasis not too difficult17:40
ignasmerging identical contacts is even possible17:40
th1aWell, if we have an upgrade path, that's not too bad.17:41
th1aThis is probably a good place to stop.17:42
ignasi mean - just take contacts objects from persons, put them all into a gloabal container, and transform __parent__ relationship into a schooltool relationship17:42
th1aSo... no meeting next Monday, then?17:43
ignasnah17:43
ignasso targets for the release are Rework current demographics fields, 4-5-many user defined demographics fields, contacts for persons, group and other relationships optimization17:44
ignasexport/import polishing17:44
ignasanything else to think about on Christmas Eve17:44
ignasahh, Eve, th1a - you're red!17:44
th1aAh, you joined the other alliance.17:45
ignasKW17:45
th1aWhat's that stand for?17:45
ignasKraftwerk17:46
th1aOh... organizing reports SchoolTool-wide.  Also making students inactive.17:46
th1aOh yeah, Kraftwerk is definitely red.17:46
aelknerthat's german for power plant17:46
aelkneror nover mind17:47
th1aWhat happened to the other alliance you guys were going to join?17:47
ignaswell, they left us hanging for like a month17:47
ignasso we got fed up17:47
th1aHave a great holiday guys and get ready for a busy 2009!17:48
* th1a drops the bag of gravel.17:48
th1aDoes KW hold any space?17:48
ignasyep17:49
ignasa constelation at least17:49
ignasand some systems around it17:49
th1aAh.  Scalding Pass.17:50
th1aWe're going in the other direction.17:50
th1aParadox Collective?17:50
th1aThat's you?17:50
ignasyep17:51
th1aWe're moving into Catch.17:52
*** jelkner has quit IRC18:05
*** ignas has quit IRC19:15
*** jstraw has quit IRC19:56
*** th1a has quit IRC20:59
*** jelkner has joined #schooltool21:17
*** elarson_ has joined #schooltool21:25
*** jcrowley has joined #schooltool21:26
*** elarson_ has quit IRC21:29
*** replaceafill has joined #schooltool21:33
*** dwelsh has quit IRC22:03
*** jcrowley has quit IRC22:09
*** jelkner has quit IRC22:21
*** replaceafill has quit IRC22:21

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!