IRC log of #schooltool for Monday, 2011-12-05

*** aelkner has quit IRC08:53
*** aelkner has joined #schooltool09:06
*** alga has joined #schooltool13:24
*** ignas has joined #schooltool14:43
*** replaceafill has joined #schooltool16:23
*** th1a has joined #schooltool16:29
th1ahi aelkner, replaceafill, y..., m...16:31
th1aLithuanian holiday?16:31
replaceafillgood morning16:31
aelknermorning16:32
th1aAh, I see the email.16:32
th1aOK, good.16:32
th1aI mainly needed to talk to you guys anyhow.16:33
th1a(I guess only I got the email)16:33
th1ayvl sick, menesis vacation day.16:33
aelknernext meeting ed?16:34
aelknerwed16:34
th1aOf course.16:34
aelknerwell, they may have said tomorrow16:34
th1aUpdate replaceafill?16:34
replaceafilli've been working on the translation of the book, which allowed me to find several bugs16:35
replaceafillin the app and the book16:35
th1aI'm going to have to finish the book this week.16:35
replaceafilli reported like 4 last week16:35
replaceafillsome related to i18n issues16:35
replaceafilli created a branch for my translation16:36
replaceafillwanted to ask menesis a couple of things16:36
replaceafillrelated to putting the book online16:36
replaceafilland about the spanish text of schooltool in the ubuntu software center16:37
replaceafilli'll wait for wednesday meeting16:37
th1aAh yes, translations for the software center.16:37
th1aGood point.16:37
replaceafillyes16:37
replaceafillth1a, could you review my 3 last revisions on https://code.launchpad.net/~schooltool-owners/schooltool-book/flourish16:38
replaceafillsome typos i found16:38
replaceafilland grammar issues16:38
replaceafillbasically, that's it, i'm around 40-50% completed16:38
replaceafill(the book is big!) :)16:38
th1aOK.  I subscribed myself too.16:38
replaceafillth1a, ah cool16:39
replaceafilli think that's it, will keep reporting things as i find them16:39
replaceafillbtw16:39
th1akk16:39
replaceafillsomeone from barcelona wrote to the mailing list16:39
replaceafillmaybe they will use the spanish translation of the book someday :)16:40
th1aHopefully.16:40
replaceafillok, that's it from me16:40
replaceafilli think i'll be done by wed with the translation16:41
th1aOK.16:41
th1aThanks replaceafill.16:41
th1aaelkner?16:41
aelkneryou saw my email to david welsh, so until he finds something else, i'm done with that16:42
aelknerthe one bug that i saw douglas create that perhaps i could take is:16:43
aelknerhttps://bugs.launchpad.net/schooltool.gradebook/+bug/89883116:43
aelknerthat should be a simple one16:43
aelknerdo you have anything else in mind?16:43
th1aDo that one.16:43
th1aAnd then you're on to new features for a while.16:43
aelkneris there any bugs filed for feature requests?16:44
th1aWe will be discussing that now.16:44
aelknerok16:45
th1aSo basically, you're going to be moving onto Journal for a while.16:45
th1aBut I suspect you'd prefer to do gradebook stuff first.16:45
aelknerthat's a very informed guess :)16:45
*** replaceafill has left #schooltool16:46
th1aOK, so just to prepare yourself mentally, you're going to be doing a lot of Journal work in the not too distant future.16:46
*** replaceafill has joined #schooltool16:46
th1aSo you won't be shocked.  ;-)16:46
replaceafillsorry, closed the wrong window16:46
aelknerth1a, that's fine16:46
th1aThe big gradebook related feature is sets of activities.16:47
aelknerinteresting16:47
aelknerhow is that?16:47
th1aOK here's the thing -- this is going to be part of the gradebook module -- it is obviously completely dependent on gradebook.16:47
th1aBut the more you think of it as separate from actual gradebooks the better it is going to go.16:47
th1aUnless that's not really possible because of the design of the gradebook...16:48
th1aSo basically you need to be able to save a set of activities.16:48
th1aSo that you can share them.16:48
th1aThey might be in a person's "activity library"16:48
th1aWell... I guess where the canonical version lives is an open question.16:49
th1aBut the point is that you need to be able to attach them to a course.16:49
aelknera design need, yes16:49
aelknerstarting from what we have now16:49
th1aSo that if you want, each course in the school has the same set of activities.16:49
th1aThat is, the same worksheet.16:49
aelknerah, by course16:50
aelknerIActivities(course) could be added, taking advantage of what we know aqbout IActivities(section)16:50
th1aOr, a teacher might have a view of their "activity library" and select one set of activities to apply to one or more worksheets.16:50
aelknerIActivities(person)?16:51
th1aMaybe?16:51
aelknerpoint being, that adapter currently returns a list of worksheets16:51
aelknerno reason we could do the same for course and person16:51
aelknerthen the user could select a worksheet from the course or person16:52
aelkneri mean 'no reason we could not...' - double negatives :)16:52
th1aProbably a worksheet should also be an activity set by default.16:52
aelknera worksheet is already a set of activities, so we can use that16:53
aelknerbut since IAcitivites is a set of worksheets, we can use that as well16:53
th1aYeah, I guess maybe these are all worksheets or a worksheet base class (or something)16:53
replaceafillth1a, https://bugs.launchpad.net/schooltool.gradebook/+bug/54494416:53
replaceafillthat's it right?16:53
th1aYes.16:54
th1aI'm trying to think of it a bit more abstractly though.16:54
aelkneryes, that's the user request16:54
aelknerand i agree that abstractly, it doesn't need to be limited to the user request16:55
th1aMaybe I'm overthinking it a bit.16:55
aelkneri don't thing so16:55
aelknerthink16:55
aelknerprobably better to generalize than just fix the one request16:55
th1ass16:55
aelknerss?  is that kk but different?16:56
th1aNo, typing in the wrong window.16:56
th1aOK... so let's say one use case is just syncing activities from the gradebook.16:56
th1aWorksheet popup menu item...16:57
aelkneryou're in the gradebook, so by definition, a worksheet16:57
th1aHm... the problem there is you get into a sync issue.16:57
aelknerand you want to choose an activity (or set of activities) from some worksheet16:57
aelknerand then have them added to the current worksheet?16:58
th1aWell, let's switch gears a bit and think about jelkner's use case a little more specifically.16:58
th1aBecause it presents a harder problem actually.16:58
aelknerok16:58
th1aBecause there is the "I've got this predetermined set of activities I want to drop in" issue.16:59
th1aWhich is fairly straightforward.16:59
aelknerwell, the simple way of looking at it (not necessarily the best way)16:59
th1aBut then you have the "I'm going to be adding activities as I go and want them to show up in four different sections issue."16:59
aelkneryes, that too17:00
th1aFor the second one, you either need a master/slave relationship between worksheets,17:00
th1aor you say a change to any of these is reflected in all of them.17:00
aelkneryes, that is a tricky case17:01
th1aHm.17:02
th1aMaybe we should ask jelkner.17:02
aelknernot a bad idea, but i like the outside of the box thinking you have going here17:02
aelknerwe could keep on for now and then consult jelkner as well17:03
th1aIn the meantime, perhaps you could start with courses.17:03
aelknercan we devide and concur for the moment?17:03
aelkneri see two different types of ideas, on ambitious, on  much less so17:03
aelkner1) the less ambitious:17:04
aelknerwe allow users to store sets of worksheets, i.e., IActivities(object) for course and person17:04
aelknerthen we allow them to copy either whole worksheets from those sources17:04
aelkneror click on two or five activities from one worksheet source to copy into the current worksheet17:05
aelknerthis one is the easiest to conceive of from a data model point of view17:05
aelknersafer, like when we deployed report sheets17:05
aelkner2) the linked idea you mentioned earlier, interesting but complex17:06
aelknerand i can't say at the moment what issues that would create, but worth thinking about17:06
aelknerbut, of course, asking jelkner, too, would help17:06
th1a1 just doesn't go far enough.17:06
th1aIt isn't even worth implementing.17:06
aelkneri see17:07
th1aOr, let me reread it...17:07
th1aOK, we can do this first.17:08
th1aWhich is similar...17:08
th1a1) You've got a worksheet.17:08
th1a2) You're a school administrator or the leader of the course.17:08
th1aor responsible party if we changed the name.17:08
th1aYou can save one or more worksheets to the course (from your gradebook).17:09
th1aAnd those worksheets appear on all sections of the course.17:10
th1aThat would be one-way.17:10
th1aIt might update on the fly or not...17:10
th1aSome question kind of.17:10
th1aIt doesn't HAVE TO.17:11
th1aI mean, kind of the same question as with the personal version.17:11
th1aThe thing is if it is a school-wide template, you've probably figured it out ahead of time.17:11
th1aIt is kind of the point.17:12
th1aCompared to the personal sheets, which will almost always change on the fly.17:12
aelknerreport sheets are school-wide17:12
aelkneri say that as a reference17:12
th1aWell, true too.17:12
th1aMaybe these are report sheets.17:12
aelknermaybe not though17:12
th1aCourse report sheets.17:12
aelknerno limitations in this discussion17:13
aelknerwe just need to model well so that changes are easily seen17:13
aelknerand undone for that matter17:13
th1aIt is not like I've spent a lot of time thinking about it before hand!17:13
aelknerme, neither :)17:13
aelknerthat's why i say, no limitations17:13
aelknerwe are just spit-balling here17:14
aelknerand that's why i satered with IActivities(object) because we already have that modeled for section17:14
th1aFor courses (school-wide) report sheets make sense since it would also be nice to generate reports.17:14
aelknerwe already have that with report sheets17:15
aelkneralthough deploying a report sheet goes to all sections, all courses17:15
th1aOK, so let's say we're talking about course-level report sheets.17:15
aelkneryes, simple17:15
aelknerfrom the course contexst, you can go to a view that looks like report sheet templates view17:15
aelkneror the person context, the same17:16
aelknerjelkner did mention a vacation activity that is course independent17:16
aelkneri one is in a course17:16
th1aWell, or perhaps you don't go to report sheet templates at all, and just do it from a teacher gradebook.17:16
th1aIt would be a bit more limited.17:16
th1a(not setting score systems)17:17
aelknercould you be specific about the actions in this case17:17
aelkner1) the user is in a gradebook for a given section17:17
aelknerthey hit a link in the left sidebar, entititled?17:18
th1aHe is course leader for the relevant course or school admin.17:18
th1aSo he sees a "Set as course report sheet" action.17:19
th1a(or whatever)17:19
th1aClicks that, gets basically a confirmation.17:19
th1aIt is copied to the course.17:19
th1aDeployed to current sections.17:19
th1a(and future ones)17:20
aelknerinteresting17:22
th1aDo you need to chew on that for a while?17:23
aelkneri'll say :)17:23
aelknerone thing that comes to mind:17:24
aelknerwth report sheets, we have a template container and a deployment step17:24
aelknerthe keys of the deployed worksheets have different a nameschooser17:24
aelknerthis hels us not have conflicts between user-created and admin-deployed worksheets17:25
aelknerwhich allow us to reliably deploy/hide17:25
aelknerwhat you suggested above opens up data model issues17:26
aelknerso i'm not sure what to recommend there at the moment17:26
th1aIsn't it essentially the same problem?  Can't we use the same solution?17:26
aelknerperhaps so, i'm not ruling that out17:27
aelknerif we consider IActivities(course or person) to be structured like the report sheet templates container17:28
aelknerand we come up with two new nameschooser patterns to keep things separate17:28
aelknerthen perhaps the data model would work out just fine17:28
aelknerand then it's just a matter of where the user clicks and what gets done as a result17:29
aelknerin the lines of what you said earlier about the user being in a gradebook and acting from there17:29
aelknergetting back to the data model behind it,17:30
aelknerin the case of deploying a report sheet17:30
aelknerthe template key is guaranteed non-colliding with a user-created worksheet key as said earlier17:30
th1aIs all this because we're too dependent on unique id's?17:30
th1aAlso, nobody cares what the id is.17:31
th1aTitle has to be meaningful.17:31
th1aID not.17:31
aelknerids are always important to a user17:32
aelknertwo people (users) can have the same name17:32
aelknerbut the username is the key17:32
th1aThat's the only place where it matters because you login with it.17:32
aelkneri was just talking with welsh about course ids17:32
th1aThat's why courses have different id's for users and the database.17:33
aelknerhe made a good point that we erred originally, not making the local course id the key17:33
aelkneri have to agree with that17:33
th1aNO.17:33
aelknerusing titles as a key is frought with peril17:33
aelknera user may wat to reuse a title, but neve a key17:33
th1aIf anything, we err in trying to make the keys meaningful at all.17:33
aelknerall databases need a code for reliably retrieving data17:33
aelkneri think you are a bit loose in your thinking here17:34
aelkneronce you go about making ids irrelevent, you thought data-reliabilty out the window17:34
th1aI'm only talking about database id's.17:34
th1aKeys.17:34
aelknerbut that's the point17:34
aelknerwe need to being the user into the key making business17:35
th1aI'm saying, the user never even needs to see that except in the URL.17:35
aelknerif you think about a business (or a school admin office)17:35
aelknerpeople are always asking each other, 'what's the id of that person, course, resource, whatever'17:36
aelknerhaving an answer to that question allows people to communicate preictably about a piece of data17:36
aelknera title never does17:36
th1aAnd the number they are talking about is probably not the SQL key.17:36
th1aThat's what I'm saying.17:37
aelknerit doesn't have to be the SQL key17:37
aelknerbut there has to be a use-centric key is all17:37
th1aThat's my point.17:37
th1aIt isn't the database key though.17:37
th1aThat's my point.17:37
aelknerfair enough17:37
aelkneri'm just saying that a data model has to involve the user in the production and maintenace of SOME key17:38
th1aSo the namechooser for an id collision doesn't really matter as long as there is no collision.17:38
th1aWell how are you using key?17:38
aelknersomething that allows them to KNOW what they are talking about and communicate it ith each other17:38
th1aIf you're talking about database id, the user never has to know or care.17:38
aelknerfor instance, course id17:39
aelknerthat is more important to an admin office than the title is17:39
aelknerthe title could change, take the case case of a typo17:39
aelknerwho cares what the title is at any given moment17:39
aelkneronly the course id makes the course part of a catalog17:39
th1aBut there is still no reason to actually use that as the database key.17:40
aelknersometimes it makes more sense to use the id in question as a database key17:40
aelknerbut i agree that is not required17:40
aelknerjust more practical from a data model point of view most of the time17:41
aelknerthink of courses and sections like products and customer (my business background speaking here)17:41
th1aI don't see how it is more practical... I think it is more just an artifact of how the Zope world tends to do things and the general desire for meaningful URL's.17:42
th1aI don't think anyone in the SQL world would ever imagine having this conversation.17:42
th1aEverything would be identified by a number and that's it (internally).17:42
aelkneri'm not sure it is relavent SQL versos DATA.fs17:42
aelknerthe need for keys, ids , urls is the same17:42
th1aI don't think this conversation is going anywhere...17:43
aelkneri think i made my points about data model and users communicating about data17:43
aelkneri don't think that point goes nowhere :)17:43
aelknerand i got to mention the course id issue welsh raised, so that seems relevant to me17:45
th1aHe's wrong.17:45
aelknerso i'm wrong, too17:45
aelknerand all that business experience has been a waste :)17:45
aelknerbut seriously, i'd be careful about thinking that ids are not important and that we can just user titles somehow17:46
th1aI'm not saying that.17:46
th1aFor courses, we have database ids and user ids.17:46
aelknercourse ids is what you mean with user ids, right?17:47
th1aThe one that is an attribute.17:47
th1aWhatever we call it.17:47
aelknercourse_id is an attribute, but it is optional at the moment17:47
aelknerthat causes problems for the user17:47
th1aIt causes problems if they don't enter a course id?17:48
th1aIt could be required.17:48
th1aBut probably shouldn't be...17:48
th1aWhat if kindergarten has no course id in Malawi?17:48
aelknerhow do two admin clerks discuss two different courses they are working on?17:48
aelknerby title?  i hope not17:49
th1aIt will do for kindergarten in Malawi.17:49
aelkneri know that's what you think, but then you ask about a feature, and the question of how to reliable add/retrieve data comes into play17:50
aelknerand the title is not reliable17:50
th1aNeither is course_id if you enter duplicates.17:50
th1aOf course, we have a computer, so we could check.17:50
aelknerthat's the point, no duplicates should be alloweed17:50
aelknerright17:51
th1aThat's not hard.17:51
aelknerif, for example, the coourse if were the key...17:51
aelknerbut i know you are going to nix that17:51
aelkneri'm just saying...17:51
aelknerlook at it this way17:51
th1aWouldn't it be easy enough to check for duplicate course_id or titles?17:51
aelknerthink person objects17:52
aelknerthe clerk always thinks about username first17:52
aelknername, maybe the parent calls and says, you misspelled it17:53
aelknerno problem, the clerk doesn't care how it's spelled, only the id17:53
aelknerthat is the critical element for them17:53
aelknerthe thing that makes discussions of that person meaningful17:53
aelknerand17:54
aelknerany data that is linked to the person shows that id on the form17:54
aelkneragain, meaningful to the clerk17:54
aelknerthe same could (and in my opinion, should) be considered for course if17:54
aelknerid17:54
th1aI think the main implication of this is that some of our add methods could be doing more checking for duplicates other than database keys.17:54
aelknerthat's just a code issue, i'm talking data model and commuicating the meaning of data17:55
aelknerso when a user calls with a bug, the question is, what's the course id17:56
aelkneror username17:56
th1aIn essentially every application you use, you never have the slightest idea of what the database key for anything actually is.17:56
aelknernot in my experience17:56
th1aAny id you interact with is another row in the database.17:56
aelknerfirst, you have user id17:56
aelknerthat's the first key you agree with the app on17:57
aelknerthen, you create items (products, clients)17:57
aelkneryou give them ids17:57
th1aBut in the database, the key for your row is probably a number.17:57
aelknerthen when you link a product to a customer17:57
aelkneryou link the ids17:57
th1aEvery book on SQL I've seen uses incremented integers to identify rows.17:57
aelknerthat's just the SQL id, not the one that the user communicates17:57
th1aTHAT IS MY POINT.17:58
th1aThe internal id is meaningless.17:58
aelkneryes, the row number is not interesting17:58
th1aUsing an id that is meaningful to the user as the database key is unnecessary.17:58
ignasyes - surrogate ids are meaningless17:58
th1aThe user relevant id is a separate attribute.17:58
ignasthough even when surrogate id is present, most of the time you have an actual primary key17:58
th1ahi ignas!17:59
ignasthat has bussiness meaning17:59
ignashi :)_17:59
aelkneryes, hi ignas17:59
th1aAh... surrogate id.17:59
th1aThat's a good term.17:59
aelkneryes17:59
aelknerthe primary key is the thing that the user needs17:59
aelknerthe thing that they talk about in the admin office17:59
th1aNo...17:59
aelknerwhat's the staud on course A123BQR?18:00
aelknerstatus18:00
aelknerah, let me check...18:00
aelkneroh, that one, we need change the title on that one18:00
aelknerok, good18:00
ignasaelkner, primary key sometimes is just English, by th1a, for first graders18:00
th1aThe primary key (glad someone's bringing some proper terminology here)18:01
ignasA123BQR would be considered a surrogate key probably, so it would be more convenient for people and applications to refer to the course :)18:01
th1aThe primary key is always unique and identifies the row, correct?18:01
ignasyes18:02
th1aUsually that one is just an incremented integer for simplicity, right?18:02
ignasno18:02
aelknerSQL is not so different from DATA.fs really, the issues are the same18:02
ignasth1a, incremental ids are added next to primary keys most of the time18:02
aelknerthe integer id is irrelevant to the user in both cases18:03
ignasth1a, but they are for consistency18:03
ignasyeah, Data.fs most of the time implies a hierarchical key18:03
ignasbased on the "location" of the object18:03
ignasso the url of a course is the key :) sans the /sections /groups part18:03
aelknerthe heirarchy is mapped into a table by having pairs of keys18:05
aelknerso in SQL a course is unique by having two attributes:18:05
ignasnot pairs, I had keys that had 3-4 members in them18:05
aelkner1) the year id18:05
aelkner2) the course id18:06
ignasnot the id, you can have the year and the course as keys really18:06
ignasyou "summarize" them as ids for convenience18:06
ignas2009, Summer, English18:06
ignasis as good a key as 1, 5, 318:06
ignasand you have the term "2009, Summer", the year "2009" and the course "2009, English"18:07
ignasall keyed by the same data18:07
ignasI think I was using these kinds of things as keys in xls export/import18:07
ignasbecause it was better than trying to come up with unstable surrogate keys18:07
ignasthat we don't have in zodb anyway, so can't persist after import18:08
ignasand can't keep stable between 2 exports18:08
ignasthough some clients might ask for surrogate keys, we had some cases in a system18:08
ignasthat had ids (internal)18:09
ignasand ids that client was entering for every employee18:09
ignasthat served as ids for the client18:09
ignasand had uniqueness constraint as well18:09
aelknerit always comes up in those offices...18:09
ignasbut that did not mean that we threw our old keys away18:09
ignaswe just added a field for this specific function18:09
ignasbecause if someone can ask you to add it , someone can ask you to remove it or replace it with something else :D18:10
aelknerignas, thinking flexibly here is not necessarily helpful18:11
aelkneryou wouldn't suggest that a user could say, 'we don't need the person username anymore'18:11
aelknerthat is set in stone in the app18:11
aelknerwe depend on its existence as much as the admin office does18:11
ignashttp://c2.com/cgi/wiki?AutoKeysVersusDomainKeys18:12
ignasa lot of text about the issue18:12
ignasyeah, but that's my point, you have a primary key already - username, adding user ids for example, might not make much sense, but if you add user_id (S124576aa for example), should you replace current primary key (username) with the new one18:13
ignasso as to avoid duplicating "functionality"?18:13
aelkneryou can't reuse usenames, that's the pojnt18:14
ignasmore extreme case is, if you have a term identified by 2009/summer and you add numeric ids for terms, should you remove 2009/summer as the way you use to refer to terms or not?18:14
ignasin sql unique constraint and "key" constraint and "primary key" constraints are different things18:15
ignassometimes related, but separate18:15
th1aBasically, I think we'd be better off using more surrogate keys.18:15
aelknerwhat does that mean?18:16
ignasnumerical ids for everything!18:16
ignas:)18:16
th1a2) surrogate key = the system (SQL engine) generates this and the users never see it, it remains internal to the information system. Look at Teradata hashing for example. Another frequent example are _OID columns added by object designers to all the tables.18:16
th1afrom http://c2.com/cgi/wiki?AutoKeysVersusDomainKeys18:16
aelknerth1a, we have users18:16
aelknerthey are the ones who need top commnicate about data18:16
th1aThe users see other id's.18:17
aelknerand those ids are the important ones18:17
aelknerthey need to be unique18:17
th1aThat can be enforced in code.18:17
aelknerthey need to reliable correspond to data that they see18:17
aelknerthe data needs to be searchab;le by those ids18:17
th1aAlso, a situation where all the data is there, but slightly duplicated and out of sync is not the worst case.18:18
th1aBut yes, you can have other attributes (course_id) which are unique, searchable, etc.18:18
ignas in some places we are using ids by the way18:19
ignasi think all the things that are catalogued18:19
ignasand indexed18:19
ignashave intids18:19
ignasthey are not very nice18:19
ignasbut they do exist in schooltool already18:19
aelknerright, the user knows nothing about those18:19
ignasthey might be very big numbers though :)18:19
aelknerso they are more hostile than helpful18:19
ignasveeeeery big :)18:19
th1aThey only see them in urls.18:20
aelknera nasty part of the data model in y opinion18:20
ignasbut you can use those ids to instantly retrieve an object from zodb18:20
aelknerthat just creates developer work rather than solving a user problem18:20
aelknerthe key is to model the data so that a user can codify and retrieve data18:21
aelknerthe internal storage is not relevant18:21
aelknerand taking advantage of the user's need to codify data when coding the app is helpful18:22
aelknerkilling two birds with one stone so to speak18:23
aelknerthink person usernames, also the key18:23
aelkneryear ids (not titles), also the key18:23
aelknerIntIds, yuck, overly-complex workarond of a simple problem18:23
aelknerbetter to think of the data from the point of view of the user's need to codify18:24
aelknerand code in step with that18:24
th1aWell, I wouldn't care if it seemed simple.18:24
th1aYou start off saying things like this aelkner:18:24
th1aone thing that comes to mind:18:24
th1a wth report sheets, we have a template container and a deployment step18:24
th1a the keys of the deployed worksheets have different a nameschooser18:24
th1a this hels us not have conflicts between user-created and admin-deployed worksheets18:24
th1a which allow us to reliably deploy/hide18:24
th1a what you suggested above opens up data model issues18:24
th1a so i'm not sure what to recommend there at the moment18:25
aelkneryes, i did say that :)18:25
aelkneryour point?18:25
th1aWell, that makes it sound like your approach is not easy.18:25
th1aEspecially when you use the phrase "data model issues" which suggests a fundamental conceptual flaw.18:26
aelknerwell, in the case of report sheet templates, i started from the data model we had at the time18:26
th1aSo perhaps you should just use less dramatic phrasing.18:26
aelknerand that model did not include ids for things18:26
aelknerwhen i say 'data model issues' i mean the whole set of actions18:26
aelknerthat bring up the need to codify for the user's benefit18:27
aelknernow, in the case of report sheet deployment18:27
aelknerfor now, we have these templates that have no id that is meaningful to the user18:27
aelknerand the titles can be duplicate, for that matter18:27
aelknerbut once we got to deployment18:28
aelknerwe had to decide that titles were unique18:28
aelkneryou made that decision recently, adn it was necessary18:28
aelkneras you saw once we wanted to be able to hide18:28
aelknerand unhide for that matter18:29
aelknerthen, the title became the unique user key18:29
aelknerfor now, it works reliably18:30
aelknerbut, i could see a user in the future complaining about the lack of control over that18:30
aelknerreally, the best model would have the user choose an id for the template18:30
aelknerthen id they wanted to, they could have two template withe the same title18:31
th1aOK, I we've hit the 2 hour time limit.18:31
th1aWe could just give the template an id.18:31
th1aWe don't need to make them think of one.18:32
aelknerwell, i'm not going to start anything after the two hour limit :)18:32
aelknerbut i just don't agree that the user should be spared the codify step18:32
th1aIn conclusion, aelkner is banned from using the phrase "data model issues"18:33
aelknerbecause it serves them more than hasstles them18:33
th1aOK, let me know what you come up with in the next day or so aelkner.18:33
th1aSee you guys on Wednesday.18:33
th1aTake care ignas!18:34
aelkneri'll talk to jelkner18:34
* th1a drops the bag of gravel.18:34
ignasth1a, bye18:34
aelknerthanks for you input ignas18:34
aelknergood to hear form you18:34
ignasalways glad to be useful :)18:34
th1areplaceafill maintains a diplomatic distance...18:34
replaceafill:D18:34
replaceafilli've been reading the whole thing ;)18:35
th1aThat's what happens when you grow up in a country with death squads.18:35
replaceafillhey! come on!18:35
replaceafill:P18:35
aelknerooh18:35
th1aYou learn a certain prudence.18:35
th1aOr at least I'd hope.18:36
*** ignas has quit IRC19:43
*** replaceafill has quit IRC20:53
*** replaceafill has joined #schooltool22:07
*** maker-kun has joined #schooltool23:42
maker-kunHello. I am trying to build schooltool from scratch, but I have a problem with zope when running $ make run23:48
maker-kunhttp://bpaste.net/show/20730/23:48
maker-kunSeems like on the irc logs you had to face something similar in the previous years, but I didn't find any useful information there.23:49
replaceafillmaker-kun, did you branch from launchpad?23:50
replaceafillor did you download a compressed file?23:50
maker-kunreplaceafill: from lauchpad23:54
maker-kunmerged about one hour ago.23:54
maker-kunAh, replaceafill, I am on osx.23:54
replaceafilllp:schooltool?23:55
maker-kun$ bzr merge23:55
maker-kunMerging from remembered parent location http://source.schooltool.org/var/local/bzr/schooltool/schooltool/trunk/23:55
replaceafillah ok23:55
replaceafilllet me try in python2.523:55
* replaceafill is not sure if trunk runs on python2.523:56
maker-kunreplaceafill: I have also 2.6 and 2.7 installed on this machine.23:56
replaceafillcan you try 2.6?23:57
maker-kunIs python_bootstrap enough to set python version?23:57
replaceafilledit Makefile23:57
replaceafillPYTHON=python23:57
replaceafillchange it to PYTHON=python2.623:57
replaceafillif osx calls it that :)23:57
* replaceafill has no experience on osx, sorry23:57
maker-kunhttp://bpaste.net/show/20731/23:58
maker-kunuh, let's try that23:58
maker-kunSame error :\23:59

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