IRC log of #schooltool for Friday, 2005-08-12

*** admp has quit IRC00:00
*** admp has joined #schooltool00:01
jelknerthanks brian (which nick are you?)00:01
jelknerbut that is not the script i'm looking for00:02
* tvon points at jinty 00:02
tvonthese are not the droids you are looking for...00:02
jelkneron an ubuntu system, after apt-get install zope3-lib00:03
jelknerand /usr/lib/zope3x/bin/mkzopeinstance00:03
jelknerputting an instance in a user's home directory00:03
jelkneryou get a python script called zopectl00:04
jelkneryou can then symlink to that script from /etc/init.d and you are ready to go00:04
tvonthere is no zopectl equiv for schooltool afaik00:04
jelknerpcardune is busy now, but i put a copy of that in our schooltool directory00:05
jelknerrenamed it schooltoolctl00:05
jelknerand tried to run it00:05
jelkneri get:00:05
jelknerTraceback (most recent call last):00:05
jelkner  File "./schooltoolctl", line 42, in ?00:05
jelkner    run()00:05
jelkner  File "./schooltoolctl", line 37, in run00:05
jelkner    from zdaemon.zdctl import main00:05
jelknerImportError: No module named zdaemon.zdctl00:05
tvonjelkner: you can't use that script00:06
jelknerwould it be possible to use something like it?00:06
jelknerit really makes things *easy* on gnu/linux systems00:06
tvonThat script works in init.d because it accepts the basic start|stop arguments that init scripts are passed00:06
jelkneryes, thats what i want00:07
* jinty is surprised it works from /etc/init.d on ubuntu without running update-rc.d first, must be some magc somewhere...00:07
jelkneroh, you have to do the system v symlinks00:07
jelknerbut i know how to do that00:07
jelkneror just update-rc.d00:08
jelkneronce in place /etc/init.d/schooltool start | stop | restart work00:08
jintyThe script I sent should work00:09
jintyin almost exactly the same way00:10
jelkneri started to make changes to it00:11
jintypity you aren't running debian/ubuntu, I could be a bit more helpful then00:11
jelknerbut i didn't get very far00:12
jintywhat happened?00:12
jelknerfor example, we have package=schoolbell00:12
jelknerour instance is in /opt/schooltool-fork00:12
jelknerwe don't have anything in /usr/bin at all00:13
jintyso change it to DAEMON=/opt/schooltool-fork/schooltool-server.py00:13
jelknerok, will try00:13
jintyalso, the others :00:14
jintymore like a spoon;)00:17
jintyCONFIGFILE should also change, and I am not sure about DEFAULTFILE (fedora specific stuff)00:19
jelknerthey had to fork schooltool to get cando to work00:22
jelknerso they are calling it schooltool-fork00:22
eldafarwe called it fork, so that we can't beat it for long, and will eventually get rid of it00:22
eldafarbeat = bear*00:23
* jinty imagines the pain updating after srichter-refactor lands00:23
srichterI really hope we will move to zpkgtools, so updating should be easy00:24
srichteralso, there will be more discrete packages, which should help packaging00:24
jelknerdo i need package=?00:25
jelkneror do i just get rid of that00:25
jintyyou probably can get rid of that as long as you don't have ${package} anywhere else.00:27
* jinty crosses his fingers00:27
jelknerdo i need NAME=? or PNAME=?00:28
jelknerand PATH=?00:28
jintyin your config file, what does the directive pid-file say?00:28
jintyall those I wouldn't touch00:28
* eldafar isn't worried about the update, all we actually changed in schooltool code (other than including cando) is the page template that redirects to the calendar on login, to redirect to cando00:29
jelknerDEFAULTFILE=/etc/sysconfig/$package  what about this?00:31
jintysrichter: I have looked at zpkgtools and am not sure whether the large increase in complexity + the difference beteen the tarball and checkout is worth the advantages.00:32
jintybut then i probably don't understand the advantages very well00:33
srichteryou are clearly not following latest Zope 3 developments :-)00:34
jintyseems a bit like zpkgtools is a sledgehammer that works really well against the zope mountain, but schooltool is a peanut00:34
srichterFred runs just now the final tests that will have zpkgtools build checkouts the same way releases are build00:34
srichterI disagree00:34
jintyI know00:34
jintybut I can be difficult to convince00:35
* jinty begins to think he is just becoming a grumpy old man00:35
srichterin fact we can use Zope's setup to only include Zope packages that SchoolTool really needs00:36
srichteralso, we have to become much more aware of dependencies00:36
srichterand third party code can use it too00:36
jintySerously I am not very happy to have 2 versions of and packaging lying around00:37
jintybut I still see no way of managing separate release schedules in a sane way, for reasons explained in the mail I sent to the list00:38
jintyIt would be ok if the coupling between schoolbell and schooltool were less.00:39
jintybut that's not the case...00:40
jintyanyway I think I will just wait and see what happens...00:41
srichterschoolbell will be an almost insignificant subset of schooltool00:43
jintybtw: thanks for taking on the big code cleanup00:46
srichteryou are welcome00:49
jelknerupdate on the init.d script00:58
jelknerit starts schooltool00:58
jelknerbut it can't stop it00:58
jelknerand it puts the Data.fs* files and the pid file and the log file in whichever directory you are in when you run the script00:59
jelknerwhy can't we use a modified zopectl?00:59
tvonjelkner: for that last bit, adjust the schooltool.conf[.in] file00:59
tvonyou can tell it where to put all the files00:59
*** eldafar has quit IRC00:59
jelknerthe problem is, that is going to need editing each time you move an instance01:00
jelknerthe zopectl script figured out where it was located, and adjusted everything automagically01:01
jelknerwe are aiming to distribute this to schools01:01
jelknerwhere the users will normally be even dumber than i am01:01
jelknerso this is way to complicated01:02
jintyjelkner: make it a package and get them to "apt-get install cando"01:02
jelknerthere you go01:02
* jinty hides from srichter01:02
jelkneras long as it works on ubuntu, i'll be happy01:02
jelknernow let me look into that config file01:03
jelknerthe reason i could stop it, btw, is that the pid file was not where expected01:03
* jinty is quite sure it works on ubuntu01:03
* jinty thwaks himself01:04
jelknerjinty: Thanks, jinty!01:05
jintybtw jelkner, if you want to make packages of cando, let me know01:10
jelknerwe will *definitely* want an ubuntu package of cando01:15
jelknerand we are almost at the point where that makes sense to do01:15
jelknerbtw. the script almost works now01:16
jelknerit starts01:16
jelknerand it puts all the files in the right place01:16
jelknerbut i can't stop it01:16
jelkneri think it has something to do with: DAEMON=/opt/schooltool-fork/schooltool-server.py01:17
jelknerand then01:17
jelknerstop() {01:17
jelknerecho -n "Stopping $DESC: $NAME"01:17
jelknerkillproc $DAEMON01:17
jelknerecho "."01:17
jintyah yes, there was something about the kernel cutting things off at 15 characters that I had to solve for the debian scripts once01:18
jintyperhaps rename to schooltool01:18
jintyand have DAEMON=/opt/schooltool-fork/schooltool01:19
jelknerquestion: since we have the PID now, couldn't we just use that directly?01:19
jintyyeah, that would have been my second suggestion01:19
jelknerso, rename the start script first?01:19
jelkneri could call it cando01:20
jelknerjinty: renaming it cando did the trick!01:23
jelknerthanks a 10**6!01:23
jintyno worries01:23
* jinty goes to bed, you could you send me a mail where I can get the cando source. I'll see what I can do about packaging...01:29
*** jinty has left #schooltool01:30
pcardunejelkner, ayt?02:30
jelknerpcardune: i just sent an email to jinty, you and eldar02:34
jelkneryou should follow up with info to him on getting the cando source02:34
pcardunewill do02:34
jelknerhe has kindly offered to make a deb for us02:34
*** jelkner has quit IRC02:38
*** admp has quit IRC02:40
*** tvon has quit IRC02:44
*** pcardune has left #schooltool03:03
*** tvon has joined #schooltool03:04
*** jinty has joined #schooltool11:09
*** jinty_ has joined #schooltool11:41
*** jinty has quit IRC11:42
*** jinty_ has quit IRC11:42
*** jinty has joined #schooltool12:22
*** jinty has quit IRC12:25
*** th1a has joined #schooltool12:52
*** th1a has quit IRC13:05
*** thisfred has joined #schooltool13:10
*** th1a has joined #schooltool13:10
*** th1a has quit IRC13:23
*** th1a has joined #schooltool13:24
*** mgedmin has joined #schooltool13:27
*** bskahan has joined #schooltool14:10
*** Aiste has quit IRC14:40
*** Aiste has joined #schooltool14:43
povbot/svn/commits: * bskahan committed revision 4678:15:07
povbot/svn/commits: add a link to edit the location of a resource.15:07
povbot/svn/commits: fixes issue33815:07
srichterth1a: I am here now15:23
srichterstill need to send you this file back, huh?15:23
th1aCool.  I'm going to look at cheese for a second.15:23
th1aBack from cheese viewing.15:24
srichtercheese viewing?15:25
th1aAiste was showing us her cheese.15:26
th1aIt is, reportedly, stinky.15:26
srichterthe stinkier the better :-)15:26
th1aIf testbrowser and wfmc aren't in 3.1, and this branch of development isn't going to be the "stable" SchoolTool release until April, at least, should we continue tracking the trunk and plan on settling on 3.2 in the spring?15:29
srichterfine by me15:30
*** admp has joined #schooltool15:30
srichterwe can always use the 3.1 branch15:30
srichterbut then we don't have testbrowser15:30
srichterso the trunk might be the best15:30
th1aWe'll have a ST 0.12.x release that uses 3.1.15:30
th1aAs long as a) there is a 3.2 release in six or seven months and it includes wfmc and testbrowser, this all seems to fit together.15:31
th1asrichter:  Do those things seem likely.15:32
srichterI am not sure whether wfmc will make it into 3.2, but I think it is a good candidate; if not, I can always create a distribution for it15:32
srichterI am sure testbrowser will be in; it has support accross the board15:32
th1aWhy wouldn't wfmc make it?15:32
srichterif Jim does not feel it is ready15:33
srichterhe became very conservative about included packages15:33
srichterbut no worry15:33
srichterpeople want and use wfmc, so there will be a distributed package15:33
srichteranother choice is to cut a special ST Zope 3 release from the 3.2 branch15:33
srichter(Jim supports this sort of thing and it was one of the design goals of zpkgtools)15:34
th1aI'm verbally pinging mgedmin about your proposal...15:34
th1aIt seems reasonable to me.15:34
srichteronce we have zpkgtools for ST we have many, many options15:35
srichterwe can distribute a fat TGZ that includes everything from Zope 3, wfmc and ST15:36
srichteror a TGS only with ST for packagers, like jinty15:36
th1aForwarding your email...15:36
srichteror a TGZ only with ST for packagers, like jinty15:36
srichteroops, the test file is missing the zpkgtools work15:37
mgedmin"- eliminating person details (in anticipation of demographics package)"  ?15:39
mgedminI'd rather see person details refactored into a package that will later be extended to support arbitrary schemas (and become the demographics package)15:40
srichterI know how to do that15:40
th1aPretty much the same thing, I think.15:40
srichterthis is the same as preferences in
th1asrichter:  Something we've been talking about here.15:41
srichterok, if you could give me details on the requirements I can implement that, if you want15:41
srichter(I was going to ask about that point)15:41
th1aI've been talking about it with POV, so there's no real reason for you to do it.15:42
th1aIt ties into work they'll be doing later.15:42
srichterI wonder whether preferences should just be another demographics then15:42
srichterthis would solve a bunch of problems15:42
th1aI'm not sure we're talking about the same thing.15:43
th1aRight now we've got some contact info & personal data hard wired in (email address, etc).15:43
srichterwell, don't you mean you want to store arbitrary data on an object using annotations and schemas?15:43
srichteroh, ok15:43
srichterdemogrpahics in the sense of a PIM application?15:44
th1aDemographics as in you are a white male student.15:44
povbot/svn/commits: * mg committed revision 4679:15:44
povbot/svn/commits: Added an assertion15:44
srichterso that would require a storage system backend15:45
srichterwhich could be reused for preferences as well15:45
*** jinty has joined #schooltool15:45
* mgedmin doesn't think lumping preferences with demographics & contact info is a good idea15:46
srichterYou basically want to be able to say IFoo(person)15:46
th1aYeah, I don't think it is the same problem.15:46
srichterbut have a general adapter that knows how to generally adapt those "association data" schemas15:46
srichterwhy is it not the same problem?15:47
*** alga has joined #SchoolTool15:47
povbot/svn/commits: * mg committed revision 4680:15:47
povbot/svn/commits: Removed redundant sorting within batches -- the batch is already sorted (see ContainerView.__init__).15:47
mgedminmaybe it is.  I'd have to take a look at what you have15:48
th1aRegardless, it is a separate problem to be solved later.15:48
th1aIf we can reuse some of the preferences stuff, great.15:48
srichterok, so I put the preferences stuff at the end of the list and I don't get to it, we make preferences use the demographics stuff later15:49
th1aI don't think the relationship between the two is that strong.15:50
srichterth1a: it was very hard to come up with concrete tasks for the refactorings, since I see the stuff to be done as I am going along15:50
th1aI understand, but we do need to come up with a concrete proposal that I can send to Mark.15:51
srichterth1a: the relationship is that they both want to store data based on a schema (and usually not provide any functionality with the data)15:51
srichterso you have to solve the problem of easily associating a schema with another interface and solve security issues15:52
mgedmintvon, bskahan: which one of you added batching to group member management pages?15:52
srichterI have done that before in and the code works similar to this as well15:52
mgedminI have some questions about the page template15:52
srichteranyways, that is not a core problem right now15:53
th1aSo your point is that this work would make it easier to create these kind of data stores than if you created new content objects or whatever?15:54
bskahanmgedmin: I haven't added batching anywhere, why?15:54
mgedminbskahan, I'm trying to understand why that page template sometimes iterates over all members, and sometimes over a batch15:55
mgedminI think I'm beginning to understand now15:55
th1asrichter: OK.  I think I see your general point.15:55
mgedminexisting member list is not batched15:55
srichterbasically you want to say: <schooltool:data for="IPerson" schema="ILocalePreferences" /> and everything is done for you15:55
mgedminbut when you add new members, you do a search and get a batch of results15:55
mgedminsrichter, define everything15:55
srichtermaybe <schooltool:data for="IPerson" schema="ILocalePreferences">[permission stuff here]</schooltool:data>15:56
mgedminI imagine it would define an adapter that knows how to store data in an annotation, but no views15:57
srichtermgedmin: register an adapter for IPerson that uses annotations to store the schema defined in ILocalePreferences15:57
srichterno, no views15:57
srichteronly the adapter to get to the data15:57
mgedminsounds good15:57
srichterso you can say: ILocalePreferences(Person())15:57
srichterI think this could be reused by both, demographics and preferences15:58
* mgedmin is annoyed by UserWarning: You did not specify an i18n translation domain for the 'title' field in <string15:58
mgedminsrichter, there is a possibility that we will have some sort of a simple schema definition language for demographics, so that site admins that aren't Python programmers can define the schema used in their school15:59
srichterWe decided that it was necessary to avoid long debugging sessions on why something is not translated15:59
srichterthere was a heated discussion about it, IIRC15:59
mgedminthe other two possibilities are using a Python interface, or a full-blown TTW schema builder15:59
srichtermgedmin: you know that we have this already15:59
srichterwe have already persistent schemas16:00
srichterwhere you can add fields16:00
srichterthe reason it is not used right now is that Jim broke persistent schemas16:00
srichterI really should force him to fix it during the Rivah sprint16:00
th1aOh, schemas in the ZODB?16:01
th1aWhen is the Rivah sprint?  Where is it?16:01
srichterwe have views for adding fields and everything in the trunk16:01
srichterin F12g on Sept. 1-216:01
srichtertill then Jim is on vacation, which means he is unaccessible16:01
srichterFredricksburg (Zope Corp headquaters)16:02
th1aOK, so I think I just need a more specific proposal for what srichter would like to do, particularly in the next two weeks, and agreement from mgedmin on how we'll be dividing the work.16:03
th1aI'm still a little hazy about this preferences stuff, so I'd rather not dive into it immediately.16:04
srichterth1a: I chatted with mgedmin about this and how hard it is to define this correctly; I thought a proposal of the following form is mre appropriate: In X amount of days I promise to do at least point x, y, z. If time is left I do other points and refactorings discovered later.16:04
* mgedmin just encountered
srichterth1a: actually, I am shooting myself in the foot with this, because it does not matter whether I am working faster or not, but it is the only good way to get refactoring done correctly16:05
th1asrichter:  There are just limitations to how we structure this work.16:06
* mgedmin loves the ability to just type up some CSV in a textarea for importing16:06
* th1a will take credit for that idea.16:07
srichterok, my first priority would be to finish creating separate packages for most stuff mingled into right now and then merge SB into ST16:07
srichterthen we have a good basis to do the rest from there16:07
srichteris that acceptable. tolerated, loved, hated, ...? :-)16:08
mgedmin+1, I think16:08
mgedmin'merge' is a little vague16:09
srichterwell, basically merge schooltool and schoolbell16:09
mgedminthat's reiterating the same thing16:09
srichterin the fashion I outlined in the email about the package structure16:09
mgedminone way to understand 'merge' is use the same core objects and attach extra stuff with annotations16:09
mgedminI'm +1 for that16:09
mgedminanother way is to merge SVN repositories so you have /trunk/schooltool/src/school{tool,bell} with no svn:externals16:10
mgedminI'm undecided for that, so -0.116:10
srichteroh, I see; no that's not what I meant16:10
mgedminthe third way is to understand that the top-level schoolbell package disappears and everything in it is merged into the top-leve schooltool package16:10
th1aSorry, I was distracted.16:11
mgedminI'm -0.9 for that16:11
srichterwhy are you -0.9 for that?16:11
srichterit makes no sense to keep a top-level schoolbell package around16:11
mgedminthe fourth way is that schoolbell.relationship/calendar remain, but disappears and is merged into the top-level schooltool package16:11
mgedminI'm +0.4 for this16:11
srichterright, I would be OK with that as well16:11
mgedminre -0.9: it could be just sentimental reasons, thinking about continuity...16:12
srichterbut I think it still creates unnecessary overhead16:12
mgedminmaybe you're right16:12
mgedminI'm mostly undecided about 2nd/3rd/4th interpretations; I'm decided about the 1st16:12
srichterour project is called schooltool; so it is our container package16:12
srichtereverything after that are product releases16:13
mgedminIOW I'd like to postpone any merges (other than my 1st interpretation), so that I have more time to think it over16:13
srichterand the set of distributed components should be determined using zpkgtools16:13
mgedminwe sort of forgot one other goal16:13
mgedminschoolbell as the #1 choice for adding calendaring 3rd party Zope3-based applications16:13
srichterright, this can be easily covered with a schoolbell release16:13
th1aYes, that is true.16:14
mgedminmaybe, but I'd like to keep a certain degree of separation between reusable generic calendaring components and our concrete applications16:14
srichterthe schooltool package should become a brand the same as Zope Corp uses zc as a top-level package for code they publish but does not make it into the core16:14
th1aKeeping SchoolBell in a state where it can be used with other Zope 3 components in a reasonably straightforward way would be a good thing.16:14
mgedmin(pushing calendaring UI into reusable schoolbell.calendar.browser was one of long-term do-it-in-your-spare-time goals)16:15
srichterwith a good setup it is as easy as running one script and upload the file16:15
th1abskahan:  It looks like when I'm actually in the Canonical offices on Monday I may finally be able to push our new server through.16:15
th1aSteveA sent me to to pick something out.16:16
SteveAbasically, use the systems there as a guideline16:16
SteveAchoose what disk / processor / memory you'll need.  it will run ubuntu, even if serverpronto doesn't say that yet.16:17
bskahanth1a: that's really exciting16:17
th1aIt will be a big help.16:17
bskahanSteveA: thanks16:17
th1aWhat do we need to comfortably run our Plone site and a SchoolTool demo?16:18
th1aSo we do have a number of particulars to hash out about how the SB/ST relationship will finally be resolved?16:18
bskahanth1a: what we really need for that is some performance testing on schooltool ;)16:19
th1aWell, what do we need for Plone?16:20
bskahaneg. what happens when someone hits the demo site and tries to import a 10,000(,000) user CSV16:20
*** ignas has joined #schooltool16:21
bskahanth1a: probably the power plus16:22
bskahanhows that for the new section index?16:24
th1aMUCH better.16:24
th1aCan we put commas between the names of multiple teachers?16:25
povbot/svn/commits: * mg committed revision 4681:16:25
povbot/svn/commits: Cosmetic fixes.16:26
bskahani was afraid someone would say that16:26
bskahanpython:len(foo) is powerful tempting to use in tal16:27
bskahanth1a: yes, its possible16:27
th1aWell, it would be nice.16:28
bskahanI need to find a good pattern for doing that, it comes up frequently16:30
* mgedmin working on
mgedminbskahan, ISized adapter might be cleaner, or it might be absolute overkill16:33
bskahanfor calculating the size of sections?16:34
mgedminfor displaying the size of arbitrary containes16:35
mgedminfor displaying the size of arbitrary containeRs16:35
*** jinty has quit IRC16:36
* bskahan nods16:38
bskahanit probably should be, not sure why I didn't do that16:38
bskahanth1a: getting commas to work correctly (e.g. no trailing comma) is non-trivial16:39
bskahando you prefer having a comma always, or no commas16:39
th1aI guess none :-(16:40
bskahanok, for now I'll leave them out16:40
bskahanI'll try to come up with a good way to do them right16:40
th1aI've dealt with the same issue myself, so I know the pain.16:40
mgedmintrailing comma?16:43
mgedmin', '.join(a_list) in Python code solves it, doesn't?16:43
mgedmin<tal:repeat repeat="foo teachers"<span tal:condition="not:repeat/foo/first">, </span><span tal:replace="foo/name" /></tal:repeat> solves it in PT16:45
mgedminI fail to see where "non-trivial" comes into it16:45
bskahanmgedmin: awesome16:45
mgedminyou mean you didn't know?16:45
* mgedmin is astonished16:45
bskahansadly, no16:46
bskahanI knew how to do it in python16:46
bskahanno in tal16:46
* bskahan is grumpy now16:46
mgedminah, ok16:46
mgedminthe TAL thing is more complicated16:46
mgedminlook up ITALESIterator some time16:46
mgedminrepeat/$repeat_variable_name has some good stuff16:47
th1aIt isn't obvious how to do it in TAL.16:47
bskahanmgedmin: thanks16:47
mgedminBTW it is repeat/foo/start, not repeat/foo/first16:47
mgedminI keep forgetting16:47
*** mgedmin has quit IRC16:53
*** th1a has quit IRC16:53
*** Aiste has quit IRC16:54
*** admp has quit IRC17:35
povbot/svn/commits: * bskahan committed revision 4682:17:56
povbot/svn/commits: improved section container view.  Leaving the links to timetables out for a seperate commit because they will require manipulating permissions.17:56
*** th1a has joined #schooltool18:17
*** Aiste has joined #schooltool18:17
srichterhad a good lunch girl and guys? :-)18:17
*** mgedmin has joined #schooltool18:18
Aistesrichter: yes, thank you :)18:19
srichteris the baltic states food similar to Russian food (I guess not)?18:20
Aisteyou can get russian food here :)18:21
Aisteand yes, in some respects it is similar18:21
srichterI see18:21
Aistealso Russian -- is a very big category18:21
srichterof course18:21
srichtermy exposure is also very limited18:21
th1aI've enjoyed the food in the Baltics.18:21
th1aI was much more scared to eat things when I was in St. Petersburg.18:22
srichterthe best I remember Solyanka, because we always got from the Russian military their machines to make for fests18:22
srichterremember I grew up in East germany, so we had plenty of Russian bases around18:23
th1aWhat is Solyanka?18:24
mgedminrauginti agurkai?18:24
srichterI sour stew18:24
* mgedmin has no idea18:24
srichterlooked red18:24
th1aI wasn't sure if was food or a place.18:25
srichterI see18:25
SteveASoylentgreen ?18:25
ignasSolyanka is a kind of soup18:25
SteveAoh cool, it's one of those web sites where links are emboldened when you move the mouse over them...18:27
SteveAwhich changes the width of the text, and moves other text around18:27
mgedminthere's nothing as annoying as unclosed <a name="foo"> elements combined with a:hover { text-decoration: underline; } CSS rule18:30
mgedminuh, how do you spell zapi.absoluteURL?18:36
mgedminlike I just did?18:36
srichterI always have to check too, but I think it is zaop.absolute_url (which is a style breakage)18:37
srichtermgedmin: mmh, the -1 option of the test runner does not seem to work all the time on doctests18:40
mgedminyes :(18:41
SteveAhow does it break style?18:41
srichterbecause it says we use no underscores18:41
srichterso zapi.absoluteURL18:42
mgedminsrichter, I think it might be a bug in schooltool's -- I think it works more often with Zope 3's test.py18:42
SteveAsrichter: we use no underscores for what?18:42
srichterfor API names, classes, methods, functions and attributes18:42
SteveAi thought functions used underscores18:42
mgedminI think PEP-8 suggests global functions use underscores18:43
mgedminZope 3 doesn't18:43
SteveAis that made explicit?18:43
SteveAi'm sure i've used underscores in functions in zope3 in the past18:43
srichterI am pretty sure it is, but I am not positive18:43
srichterthere are only a few cases18:44
SteveAif so, i think it will be jim's smalltalk influence ;-)18:44
srichterno, Jim did not want any style standards at all18:44
srichterit was me who pushed this ;-)18:44
srichtermgedmin: is there a way to use the Zope 3 without much hassle?18:45
mgedminsrichter, symlink src/school{tool,bell} into Zope3/src/18:47
mgedminthen run Zope3/ -s src/schooltool18:47
mgedminI don't know whether you can do that without symlinking18:47
srichterok, symlinks are fine18:48
mgedminsrichter, eventually we started passing REPORT_ONLY_FIRST_FAILURE to DocTestSuite in all our modules explicitly18:48
srichterI see, that works guaranteed?18:49
mgedminI think the problem is that when you do DocTestSuite(optionflags=ELLIPSIS)18:50
mgedminthen DocTestSuite doesn't inherit the global REPORT_ONLY_FIRST_FAILURE setting18:50
srichterI see18:51
mgedminbut if you don't specify optionflags at all, then it does inherit that setting18:51
mgedminI might be spewing nonsense here, BTW, I haven't really figured it all out18:51
mgedminZope 3 itself had the same problem a while ago, introduced during some refactoring, and I think I found the bug there and bugged you to fix it18:52
mgedminor maybe that was a different problem18:52
srichterI remember that18:52
th1asrichter:  What do we really gain from a traversal mechanism for calendar?19:15
srichterwell, I accept MArius' arguments19:15
srichterwhat we need is a way to dynamically extend traversers19:16
srichtercurrently, whenever you want something new to traverse from, you need to extend the existing adapter19:16
srichterthe current solution is not scalable to a development platform19:16
srichtermgedmin: you know that traversal namespaces give us exactely the functionality we are looking for19:17
srichteryou basically add a new traversal step by name19:17
*** Aiste has quit IRC19:19
th1aI don't understand what you mean, srichter.19:20
srichterbasically, right now we have a traverser that understands persons/username/calendar19:20
srichterbut if you want to also be able to traverse persons/username/preferences you need to modify the traverser19:21
srichterimagine that the deisre to add preferences comes from third party code19:21
th1aWhere is the traverser?  How do you modify it?19:21
srichterit will be in
srichterYou have to go to this file and manually edit it19:22
srichterwe really want a mechanism that allows us to add traversal steps using a directive19:23
th1aHrm... but right now we're just using the standard Zope 3 traverser?19:24
srichterno, we already developed our own to allow traversals to calendar and so on19:25
th1aWhere is that now?19:25
srichtersoemhwere in
th1aHow long do you expect this traversal work to take?19:27
srichterno idea, but it is not a hard problem19:29
srichter1.5 days19:29
srichter(mainly so much time because of the chane to the new code accross the code base)19:29
th1aI want to get an ok from POV on this stuff, since it is really beyond my technical understanding, but otherwise, it seems fine to me.19:30
srichterMarius agreed with me on that already yesterday19:31
srichterjust tell him it is about the flexible traversers19:31
th1aOK.  He seems to be deeply into something else at the moment... do you want to start this immediately or next week?19:32
srichternext week19:32
srichterI will need almost all of next week to do the repackaging19:32
srichterand the rest of the week for the merger19:32
th1aOK.  I'll send mgedmin and alga a copy right now.19:33
* mgedmin wakes up19:33
mgedminsrichter, conceptually traversal namespaces solve a slightly different problem19:34
mgedminalthough practically it's the same functionality we need19:34
th1aAs long as we need it for something ;-)19:34
mgedminor would be, if we dropped the 'NO UGLY SIGILS IN URLS' requirement19:34
srichterright, so I'll write a traverser for all components that does this sort of thing19:36
srichterand we write one for containers that prefers container lookup before adapter lookup19:36
th1aOK.  I need to go see my wife now.19:36
srichterthis way it should work accross the board19:37
srichterth1a: is my proposal pretty much approved?19:37
* mgedmin is still reading it19:37
srichterit is pretty much the package refactoring and merger part of your proposal19:38
mgedminI'm happy with most of it, but I do not want to commit on the "Merge the ``schoolbell`` package into ``schooltool``." part19:39
mgedmindo you think you can finish everything including this merge before september 6?19:39
srichteryes, I will put myself into overdrive :-)19:39
srichterthe repackaging work will make ther merger much sfaster19:40
mgedminI'm inclined to ignore my reservations and let you have a go at it...19:40
mgedmintwo more things19:40
mgedmin- I'd like to see "full DB backwards compatibility" as an explicit goal/requirement19:41
mgedmin(you already mentioned a generation script, but full compat might need more -- making classes importable from old locations etc)19:41
srichteryeah, making them importable will be easier to implement to19:42
srichterdoes ST have rules how long this stuff has to be around?19:42
mgedminmaybe we did, once...19:43
mgedminI'd have to grep the mailing list19:43
mgedminI think release N has to support the DB structure of release N-1, but not necessarily N-219:43
mgedminbut I'm not sure19:43
mgedminth1a will answer19:43
srichteractually, since we only support data, it is not that hard19:44
mgedminobviously, full support of all previous releases would be Very Nice19:45
th1aThe branch we're starting has to be able to import from the release that is coming out next week (0.12)19:46
th1aI mean 0.11.19:46
srichterok, I really hope that someone can provide me with a nice dataset :-)19:46
srichterto test against19:46
* mgedmin wants that too ;)19:46
srichtereven though I think I have it under control19:46
th1aI'm not sure who has the best data sets at this point.19:47
mgedmin<mgedmin> two more things19:47
mgedminsecond thing19:47
th1aWe all eed better ones.19:47
mgedminprobably not that important19:47
mgedmin- I'd be happy if the merge bit was easy to roll back, in case unexpected details crop up to bog it down19:47
mgedminlet me also take a look at `overlaid_caledars`19:48
mgedminI don't remember why it is different in ST and SB19:48
srichterthat would be great!19:49
srichtermgedmin: I am working on the refactor branch19:49
mgedminah, the annotation objectlet has a different schema19:49
srichtermgedmin: I keep working on the refactor branch19:49
mgedminhow about using annotations there?19:49
mgedminwhat I'm suggesting is:19:50
mgedmin- leave schoolbell.Person.overlaid_calendars as is -- do not move anything directly to view code19:50
mgedmin- get rid of schooltool.Person class, OverlaidCalendarAndTT anything19:50
mgedminmake CalendarOverlayInfo object annotatable19:50
th1aOK, so I think the conclusion is "thumbs up" with the caveats above.19:50
* th1a would like to go now.19:51
mgedmin- store 'show_timetable' as an annotation on CalendarOverlayInfo objects instead of using a subclass19:51
mgedminth1a, yes19:51
srichterth1a: see ya19:51
th1aOK.  Have a nice weekend, guys.19:51
mgedminsrichter, what do you think about my suggestion?19:51
*** th1a has quit IRC19:51
srichteryou too19:51
srichtermgedmin: it gets rid of ridiculous code, so I like it :-)19:51
srichtercan you do this or at least send me an E-mail about this again, please.19:52
srichterI do not understand overlays yet, so it makes sense what you say, but I am really in no position to be asking questions at this point19:53
mgedminok for email19:53
* mgedmin doing that now19:53
srichtermgedmin: you still want me to make all the changes to the refactor branch right?19:53
mgedminholler if that is paintful for you19:53
srichterit will be only painful during the merge19:54
mgedminI intend to be the one doing the merge19:54
srichterwhich you want to do :-)19:54
mgedmin(poor me)19:54
srichtersp you making your life harder :-)19:54
srichterwhee, the person package takes me a long time19:56
mgedminsrichter, do you want a brief description about overlaid calendar data structures?19:57
srichteryes, that would be good19:57
srichterfirst of all what is its purpose?19:58
srichterto show several calendars at once?19:58
mgedminpeople may want to see events from a bunch of calendars in a single view19:58
mgedminthe selection of calendars you want to see is stored as a relationship19:59
mgedminour relationships framework lets you attach a single object to a relationship instance19:59
mgedminwe attach CalendarOverlayInfo objects to the relationship that represents this calendar selection19:59
mgedminCalendarOverlayInfo remembers the calendar colors, visibility checkbox, etc.20:00
srichteroh, I see20:00
mgedminin SchoolTool we needed one extra attribute -- checkbox for a timetable as well as the calendar20:00
mgedminso people went ahead with the subclassing etc20:00
srichterso stephan is an attendant of Physics 1, Section A20:00
tvonmgedmin: ignore my note to you on issue34120:00
mgedminit is actually the same problem as extra 'timetables' attributes on persons/etc20:00
mgedminand the solution is the same -- adapters and annotations20:01
srichterok, got it20:01
mgedmintvon, I know the solutions to all the problems I mentioned in issue341; I now need to write tests and commit20:02
tvonah, okay20:02
tvonmgedmin: what are you doing about the 'done' button?20:02
* tvon nods20:02
mgedminsrichter, a tangential issue20:07
mgedminyou once complained that having colours and stuff outside browser was wrong20:07
tvonmgedmin: how do you feel about it basically beeing a css-pretified link that says 'back to {whatever} view' ?20:07
mgedminI have no objections if you move module to
mgedminand move Person.overlaid_calendars to an adapter -- IOverlaidCalendarList(person).overlaid_calendars or something20:08
srichterok, great!20:09
mgedminOTOH now we have both which deals with UI, and which only deals with data storage20:09
* mgedmin pauses20:09
srichterI think about it20:09
mgedminno, I do have objections to moving it inside browser20:10
srichterit is okay to have data in the browser package20:10
mgedminno, I don't20:10
mgedminaaargh, I cannot make up my mind ;)20:10
mgedminit's like person properties20:10
mgedmindata that does not correspond to something in the domain, but is used to tailor the presentation of domain objects20:11
* mgedmin goes back to coding20:11
srichterI will not work on it soon anyways20:12
*** ignas has quit IRC20:24
*** mgedmin has quit IRC20:24
*** ignas has joined #schooltool20:26
*** mgedmin has joined #schooltool20:26
* mgedmin unhappy with people who worked on MemberViewPersons20:31
* mgedmin is one of them, shamefully20:32
srichterhe he20:32
povbot/svn/commits: * mg committed revision 4683:20:33
povbot/svn/commits: Brought MemberViewPerson doctest up to date (the sorting was moved to the page template ages ago, and by yours truly at that, IIRC).20:33
povbot/svn/commits: * mg committed revision 4684:20:46
povbot/svn/commits: Removed unused definition20:46
povbot/svn/commits: * mg committed revision 4685:20:49
povbot/svn/commits: MemberViewPersons refactoring:20:49
povbot/svn/commits: - There used to be a base class and two subclasses; somebody removed one20:49
povbot/svn/commits: subclass and merged the other one with the base class -- but didn't fix the docstring and didn't remove a no-longer-used hook for overriding the container name.20:49
povbot/svn/commits: - Added a docstring for searchPotentialMembers.20:49
povbot/svn/commits: - Added an XXX to mark the place which forgets to sort a list.20:49
povbot/svn/commits: * mg committed revision 4686:20:56
povbot/svn/commits: Partial fix for issue 341 ("Add member" search/batching interface doesn't sort the list.)20:56
povbot/svn/commits: Should be merged to the release branch,20:56
*** thisfred has quit IRC20:57
mgedmin/home/mg/src/schoolbell/Zope3/src/zope/tal/ DeprecationWarning: /home/mg/src/schoolbell/src/schoolbell/app/browser/templates/ (line 15): Automatic translation of message id's is deprecated and will be removed in 3.3. Use explicit i18n:translate="" instead.20:59
mgedminI thought all these were fixed already?20:59
srichtermmh, they should20:59
srichtermaybe you forgot i18n:tanslate="" in that instance?21:00
mgedminnot me21:01
mgedminI just ran the tests21:01
mgedminmembers_persons.html is barely functionally tested -- there's a single GET request in app.txt21:02
srichterI think test coverage will be another area the package split will profit from21:06
srichterit will be much easier to discuss coverage21:06
mgedminthe single functional test for person CSV import tests a single failure case21:12
srichterhe he21:12
mgedminI think test coverage will profit from zope.testbrowser21:12
srichterthat too!21:12
srichterI **love** testbrowser!!!!21:13
mgedminAHA! group CSV import causes the explicit i18n:translate warning21:16
mgedminI wish the warning told me the filename and line number21:16
mgedminI'd be happy to work on this during some zope 3 bug day, btw21:18
srichterso I guess we should organize another one21:18
srichterI think second week in September would be good21:18
povbot/svn/commits: * mg committed revision 4687:21:18
povbot/svn/commits: Killed a deprecation warning.21:18
povbot/svn/commits: * mg committed revision 4688:21:36
povbot/svn/commits: Fixed another part of issue 341 (Remove Members button hidden when it should not be hidden).  Added a functional test to serve as regression test and to improve functional testing coverage.21:36
mgedminits 10 pm, I want to go home, I want to remove two instances of bogus tal:condition="batch" from two page templates, and I can't be bothered to spend 2*30 minutes writing new functional tests as regression tests21:49
mgedminI'm going to commit the bugfix with no tests21:49
mgedminanyone against?21:49
srichterok ;-)21:50
srichterthough you really should not....21:50
srichterok, the person package is pretty much ready to merge in21:51
povbot/svn/commits: * mg committed revision 4689:21:54
povbot/svn/commits: Another partial bugfix for issue 341 (mysteriously disappearing Remove button from the person's group list).  Regretfully I've no steam left in me for a proper regression test.21:55
srichterwow, schoolbell just started on my machine in 1.6 seconds21:56
povbot/svn/commits: * mg committed revision 4690:21:57
povbot/svn/commits: Fix issue 341 (missing Remove button) for the section instructors view.21:57
povbot/svn/commits: * srichter committed revision 4691:22:00
povbot/svn/commits: Moved the person implementation to This really showed me how much the system depends on persons. Unfortunately so do many unittests, which should use stubs instead.22:00
povbot/svn/commits: Eventually, I need to move or write new functional tests into the package.  They were totally entangeled with other tests.22:00
mgedminoops, I broke schooltool's unit tests for python2.322:00
mgedminour buildbot caught that!22:00
mgedminonly our buildbot's error messages got stuck in the moderation queue22:00
mgedminI wish I remembered mailman's password...22:00
srichterhe he22:01
mgedmingot it -- but I can newer find the whitelist in mailman's horrible admin ui22:02
srichteryeah, the UI is not that great22:03
srichteruuuhhh, we need to make the ICalendarOwner thing also an adapter22:04
povbot/svn/commits: * mg committed revision 4692:22:09
povbot/svn/commits: Unbreak unit tests when run with Python 2.3.22:09
povbot/svn/commits: * tvon committed revision 4693:22:12
povbot/svn/commits: cleanup for issue32822:12
*** pcardune has joined #schooltool22:14
pcardunehello everyone22:15
pcarduneI'm writing functional tests, and i'm just wondering if there is a way to get the actual zope object, so as to add lots of test data in an external method very quickly22:16
pcardunei.e. not having to enter data as you would through the browser22:16
mgedminthere is22:17
mgedminroot_folder = getRootFolder()22:17
mgedmintraverse(root_folder, '/path/to/some/object')22:17
mgedminor just root_folder['path']['to'].some.['object']22:17
pcarduneso getRootFolder is already in the namespace when you import the Browser testing object?22:18
mgedmindon't forget to transaction.commit() afterwards!22:18
mgedminin functional doctests -- yes, I think it is22:18
pcarduneawesome, thanks22:18
mgedmingood weekend, all22:21
mgedmintvon, bskahan: I had some comments to your latest checkins, please fix22:21
*** mgedmin has quit IRC22:21
povbot/svn/commits: * tvon committed revision 4694:22:29
povbot/svn/commits: fix != -> is not22:29
srichtertime for me to go as well22:50
*** ignas has quit IRC22:56
tvonsrichter: where are you?22:57
tvonin global terms22:58
*** alga has quit IRC23:03
povbot/svn/commits: * bskahan committed revision 4695:23:08
povbot/svn/commits: Put the delete button back into a conditional so it only shows when there's a section to delete.23:08
*** alga has joined #SchoolTool23:39
*** bskahan has quit IRC23:41
*** bskahan has joined #schooltool23:45
*** alga has quit IRC23:50
*** alga has joined #SchoolTool23:50

Generated by 2.15.1 by Marius Gedminas - find it at!