IRC log of #schooltool for Monday, 2005-08-08

*** admp has joined #schooltool00:34
*** tvon has quit IRC01:03
*** tvon has joined #schooltool01:03
*** admp has quit IRC02:15
*** tvon has quit IRC07:32
*** tvon has joined #schooltool07:37
*** povbot` has joined #schooltool09:18
*** povbot has quit IRC09:18
*** dman13_ has quit IRC10:50
*** Ricey_ has quit IRC10:50
*** munkee has quit IRC10:50
*** srichter has quit IRC10:50
*** srichter has joined #schooltool10:51
*** povbot has joined #schooltool10:51
*** orwell.freenode.net sets mode: +n 10:51
*** povbot has joined #schooltool10:54
*** povbot has joined #schooltool10:57
*** tvon has joined #schooltool10:57
*** dman13 has joined #schooltool11:01
*** povbot has joined #schooltool11:05
*** auxesis_ has quit IRC11:30
*** auxesis has joined #schooltool11:32
*** Ricey has joined #schooltool11:55
*** jinty has joined #schooltool12:13
*** gintas has joined #schooltool12:19
*** admp_ has joined #schooltool13:11
*** admp_ has left #schooltool13:11
*** bskahan has joined #schooltool13:20
povbot/svn/commits: * gintas committed revision 4586:13:31
povbot/svn/commits: Mention gettext in README.txt, wording fix (to be backported).13:31
povbot/svn/commits: * gintas committed revision 4587:13:31
povbot/svn/commits: Cosmetic fix.13:31
povbot/svn/commits: * gintas committed revision 4588:13:32
povbot/svn/commits: Mention gettext in README (should be backported).13:32
povbot/svn/commits: * gintas committed revision 4589:13:34
povbot/svn/commits: Backported revision 4588.13:34
povbot/svn/commits: * gintas committed revision 4590:13:35
povbot/svn/commits: Backported revision 4586.13:35
*** bskahan has quit IRC13:39
*** povbot has joined #schooltool13:47
povbot/svn/commits: * gintas committed revision 4591:13:47
*** srichter has joined #schooltool13:47
povbot/svn/commits: Backported revisions 4580, 4581, 4584.13:47
*** tvon has joined #schooltool13:48
povbot/svn/commits: * gintas committed revision 4592:13:48
povbot/svn/commits: Backported revision 4582.13:48
*** Ricey has quit IRC13:49
*** dman13 has quit IRC13:49
*** jinty has quit IRC13:49
*** auxesis has quit IRC13:49
*** auxesis has joined #schooltool13:49
*** jinty has joined #schooltool13:49
*** jinty has quit IRC13:54
*** tvon has quit IRC13:54
*** gintas has quit IRC13:54
*** munkee has quit IRC13:54
*** auxesis has quit IRC13:54
*** Ricey has joined #schooltool13:54
*** dman13 has joined #schooltool13:54
*** jinty has joined #schooltool13:54
*** auxesis has joined #schooltool13:54
*** tvon has joined #schooltool13:54
*** gintas has joined #schooltool13:54
*** munkee has joined #schooltool13:54
*** jinty has quit IRC13:55
*** dman13 has quit IRC13:55
*** munkee has quit IRC13:55
*** gintas has quit IRC13:55
*** tvon has quit IRC13:55
*** auxesis has quit IRC13:55
*** dman13 has joined #schooltool13:56
*** jinty has joined #schooltool13:56
*** auxesis has joined #schooltool13:56
*** tvon has joined #schooltool13:56
*** gintas has joined #schooltool13:56
*** munkee has joined #schooltool13:56
povbot/svn/commits: * jinty committed revision 4593:14:10
povbot/svn/commits: Create a small i18nextract.py for schoolbell.14:10
povbot/svn/commits: * jinty committed revision 4594:14:11
povbot/svn/commits: Use local i18nextract.py rather than the Zope3 one.14:11
jintyhoi gintas: could you commit some translations for me?14:28
jintyotherwise I had a good look at the packaging work you did, it all looks good.14:30
*** ignas has joined #schooltool14:32
povbot/svn/commits: * gintas committed revision 4595:14:46
povbot/svn/commits: Allow access to items() if we allow access to keys() and values().14:46
*** bskahan has joined #schooltool15:18
*** bskahan has quit IRC15:24
*** mgedmin has joined #schooltool15:27
*** ignas has quit IRC15:28
*** ignas_ has joined #schooltool15:28
*** bskahan has joined #schooltool15:32
*** jinty has quit IRC15:36
*** th1a has joined #schooltool15:47
th1aJennifer is taking a nap, so I'm at POV for another hour or so.15:48
srichterok, I am here15:51
srichterwe could start now15:52
th1aWe could, but this would be 40 minutes early, right?15:52
srichteryes, who is not here?15:52
povbot/svn/commits: * gintas committed revision 4596:15:53
povbot/svn/commits: Removed unused imports.15:53
* tvon yawns15:57
srichterbskahan: are you already here?15:57
povbot/svn/commits: * gintas committed revision 4597:15:58
povbot/svn/commits: Fixed a i18n deprecation warning.  This is already fixed in trunk.15:58
povbot/svn/commits: * tvon committed revision 4598:15:58
povbot/svn/commits: unused import15:58
bskahanhello16:03
povbot/svn/commits: * gintas committed revision 4599:16:03
povbot/svn/commits: Removed svn:externals tag from schooltool release branch.  I know that it is smart, trendy and politically correct to have it there but it gets in the way a lot and slows me down.16:03
srichterth1a: if you can collect all the POV developers, I think everyone is here now16:04
gintasI'm here16:04
* mgedmin too16:04
tvonignas_, mgedmin: ping16:04
th1aOK.16:04
srichtersomeone needs to poke alga16:04
gintashe's on holiday16:05
povbot/svn/commits: * gintas committed revision 4600:16:05
srichterah, ok; unpoke alga16:05
povbot/svn/commits: Removed svn:externals tag from SchoolBell release branch.  I know that it is smart, trendy and politically correct to have it there but it gets in the way a lot and slows me down.16:05
th1aI hope everyone saw the Lithuanian discus thrower take the world championship yesterday with a dramatic 70 meter toss on the last throw of the competition.16:05
gintasI didn't16:06
* bskahan wonders if that was on ESPN216:06
th1aProbably.16:06
srichteroh, my dad told me the world chamionship is going on, but I could not find the US coverage16:06
th1aOK.  Thanks to gintas for going through the bug tracker.16:06
* bskahan agrees16:07
gintasheh16:07
* srichter claps (he knows how painful it is)16:07
gintasI don't get notifications about my own changes, so I always am a bit surprised that people notice16:07
th1aI was thinking that one of Etria's stories covered issue 240, but now I'm thinking that it actually didn't.16:07
th1aThat is, we hid actions that the user can't undertake, but didn't hide object he can't see?16:08
bskahanright16:08
th1aOK.  That'll have to wait 'til later then.16:09
th1aI'm going to see if issue 318 is fixed.16:09
bskahanthanks16:10
th1aWhat else needs to be checked/fixed?16:11
bskahanissue32516:11
* mgedmin roots for 31916:11
bskahangintas pointed out that it needs a generation for upgrades16:11
bskahanI'll do that today16:12
gintasok16:12
bskahanother than the need for a generation is everyone ok with r4579?16:13
bskahanit means that all new containers will have to be explicitly restricted16:13
th1aOK.  318 fixed.16:13
tvonbskahan: arent containers returned by __iter__ or something along those lines?16:14
tvonbskahan: meaning, I don't think they need to be explicitly named16:14
gintasbskahan, I think you could do it by 'exclusion' rather than 'inclusion'16:14
gintasthat is, restrict all containers except public ones16:15
bskahangintas: ok, good point16:15
th1amgedmin: I'm not sure that we need to spend much time on 319 right now, if nothing is actually broken, because it looks like the next thing you guys are going to do is resolve the SB/ST clashes once and for all.16:15
gintasth1a, I sure hope we do16:16
bskahantvon: not sure I follow16:16
th1aWe need to explicitly test upgrades from the previous version at some point prior to release.16:16
gintasright16:16
th1ai.e., someone has to be responsible for testing upgrades.16:16
* bskahan nods16:16
gintaswould that be me?16:16
th1aPerhaps the release manager :-)16:16
tvonbskahan: I think you can iter over the containers in an app, so you don't need to name the containers you are restricting16:16
srichtermaybe we can automate this16:16
srichterwhat we really need to test for is data integrity16:17
bskahanhaving sample data will make testing upgrades easier16:17
th1aIn case you were wondering if the POV guys talk to each other a lot during these meetings, so far, the answer is 'no.'16:17
srichterI think this could be done using an old data.fs with test data and run it on the new version16:17
bskahanheh16:17
srichterand then check whether all object loaded and all screens work16:17
th1asrichter:  Yes, in the long run this should definitely be automated.16:18
th1aUpgrades are a constant issue in this kind of apps.16:18
th1aThere were Blackboard upgrades that were legendary clusterfucks.16:19
bskahanideally it could be hooked up to run the ftests set, upgrade, then run the ftests again16:19
srichtersomething like that16:19
srichterI think this could be even setup as a buildbot16:19
th1aWell, I'll add upgrade testing to the things to discuss on Wednesday.16:19
mgedminif someone creates a data.fs with extensive sample data for a specific version of schooltool/bell, and wants to add it to svn somewhere, +5 for that idea16:20
srichterthat would be the first step, yes, +1 from me too16:20
th1aWell, I think we're also going to discuss more serious sample data generation on Wednesday, too.16:21
th1aWe'd better get back to issues with the current release.16:21
gintasI'm worried about John Baillie's problem16:21
gintasit sounds like a serious bug16:21
th1aPhilipp sent a bug with pdf generation to the list.16:21
gintasI know, that shouldn't be too bad16:22
gintaslooks like there's a security declaration missing somewhere in schooltool16:22
gintasbut Baillie's is trickier16:22
gintasI think it's caused by events shared from several calendars16:22
gintas(a design decision that I now regret a lot)16:23
bskahangintas: have you been able to recreate that bug?16:24
th1agintas:  How do you know what's causing John's bug?16:24
bskahanhe's not upgrading, as far as I understand.  He's using a new data.fs so we should be able to get the same error16:25
gintasI think I had experienced the same problem some time ago16:25
mgedminwhat are you talking about?  is there an issue in the tracker?16:25
bskahanmgedmin: its a mail to the list16:25
bskahanfrom 2005.08.0516:26
th1aI think he might not really have deleted Data.fs.16:26
gintashmm, it looks like he sent his reply to me personally16:26
th1aAh.  Could you forward it?16:26
gintassure16:26
mgedminMessage-ID: <42F4125F.90607@stmarys-school.org> ?16:27
bskahanmgedmin: Subject: [schooltool] School Bell on K12LTSP-EL16:28
bskahanyeah, that's it16:28
*** Aiste has joined #schooltool16:29
th1aCan anyone replicate that?16:30
* mgedmin running svn up on his school* sandboxes16:30
* mgedmin thinks it will take a while16:30
gintasouch16:33
gintaslooks like I found another bug on the way16:33
th1aYipes, the event add form seems broken on Safari.16:34
th1aGiven that I have no submit button...16:34
bskahangintas: did you get a traceback in the overlay portlet?16:37
gintasyeah16:37
bskahansame here16:37
tvonwhere?16:37
gintasline 199 of overlay.py is wrong16:37
gintasI think there should be an attribute access, not a getitem16:38
gintasI smell a unit test gap16:38
gintasOK, I'll try the same thing with the release branch16:39
gintashopefully we don't have such a bug there16:39
gintasanyway, we don't have to settle this during the meeting16:40
gintasI'll fix it16:40
th1aI'm trying to upload a screenshot of the form in Safari, but iPhoto decided to stop working.16:40
bskahanth1a: email it to me?16:41
tvonmgedmin: did you do anything when schooltool when you were playing with javascript unit tests?16:41
bskahanplease16:41
* tvon tries to figure out when main.py calls app.setSiteManager16:42
mgedmintvon, as far as I know schooltool has no unit tests for javascript16:42
mgedmin(I hope I understood your question)16:42
* mgedmin suggests entering all known bugs to the issue tracker, if they are not already there16:43
gintasok, we do have the same problem in the release branch16:45
gintasI'll add an issue16:45
* mgedmin doesn't know which problem gintas is talking about, and is feeling generally lost and confused16:45
gintasthe one that causes the traceback16:47
tvonmgedmin: reading back, my question made no sense16:47
gintashttp://issues.schooltool.org/issue32816:47
* mgedmin thinks gintas is making fun of him16:48
tvonwoah16:48
tvongintas: you get that when submitting the overlay selection form?16:48
mgedminthe release branch breaks 'svn co $URL $DIR && cd $DIR && make test ftest'16:48
mgedminwhich exactly version of Zope 3 does it depend on?16:49
gintastvon, yes16:49
tvonodd, I dont16:49
mgedmin(a URL that I could check out would be best)16:49
th1aOK, I need to speak to the POV people offline for a second before I go.16:50
bskahantvon: happens here on svn trunk16:50
tvonis this new?16:50
bskahantvon: its from r4418 I would guess16:51
tvonwell 199 is indeed wrong, I don't get the error though16:52
th1aOK, we're back.16:52
* mgedmin is sitting here twiddling his thumbs, waiting for an answer16:53
gintasmgedmin, I removed the externals because they were a huge pain the ass16:53
mgedmingintas, thanks a lot16:53
gintaspain in the ass16:53
tvoner, "line 199 in browser.overlay"16:53
mgedmingintas, so gimme the url already!16:53
th1aPhilipp just added an issue for his pdf bug as issue 330.16:53
th1aWho can take care of that.16:53
th1a?16:53
gintasyou want Zope 3 trunk rev 3765416:53
tvonbskahan: as a user or manager?16:54
gintasth1a, I think I'll take care of it16:54
bskahantvon: user16:54
mgedmingintas, not the 3.1 branch?16:54
gintasmgedmin, no16:54
mgedminwhat's happening with 3.1 by the way?16:54
gintasbut they differ very little16:54
mgedminhow do they differ and why don't we want 3.1?16:54
srichtergintas: why do we want this particular revision?16:54
srichterwe should really rely on the 3.1 branch for the release16:54
th1aThere is no reason to think the 3.1 branch wouldn't work, right?16:55
srichterits a recipe for disaster to rely on this particular revision16:55
gintaswhy?16:55
srichterbecause you can never rely on bug fixes on the 3.1 branch16:55
srichterbtw, the trunk uses the 3.1 branch and all tests pass16:55
gintasas I said, they're almost the same at the moment16:56
th1aOK.  I'm going to pack up.  I'll be back on Wednesday.16:56
mgedminI'll go with the branch then16:56
mgedminth1a, see you later!16:56
th1aBye.16:56
srichterI made a bunch of fixes on the 3.1 branch that the SchoolBell (and later SchoolTool) trunk relies on16:57
*** th1a has quit IRC16:57
gintassrichter, are they pertinent to SB 1.2?16:58
gintasI branched before the trunk was bound to 3.116:58
srichterno, not to the release I think16:58
srichterright16:58
srichterso it might be ok16:58
gintasI don't really mind switching16:59
srichterI guess we will just do another release when we notice some 3.1 bug/security fix is needed16:59
tvonis anyone slated (in the z3 world) to make debian packages for 3.1?17:01
*** FarcePest has joined #schooltool17:01
gintasthere's zope3-lib 3.0.91 in breezy17:02
bskahantvon: there's an ubuntu goal17:02
srichterwell, there is a commitment by a group of Zope Debian packagers17:02
gintasI suppose that this will become 3.1 eventually17:02
*** jinty has joined #schooltool17:02
gintashi jinty17:02
gintasyou wanted me to commit some translations, right?17:02
*** dman13 has quit IRC17:03
jintyyep17:05
jintythey are in debian bugs http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=31789717:06
jinty31789917:06
jinty31958917:06
*** SteveA has joined #schooltool17:06
jintywould do it myself, but...17:07
povbot/svn/commits: * jinty committed revision 4601:17:08
povbot/svn/commits: Extract translations in setup.py rather than using Zope3/utilities/i18nextract.py.17:08
povbot/svn/commits: * jinty committed revision 4602:17:13
povbot/svn/commits: oops!17:13
tvonbrowser.overlay:199 isn't wrong17:13
povbot/svn/commits: * jinty committed revision 4603:17:17
povbot/svn/commits: Make building Zope3 conditional on there being a Zope3 directory. It should now be possible to delete the Zope3 external in schoolbell and only have zope on the python path.17:17
tvonnice17:17
*** bska|mobile has joined #schooltool17:26
*** bskahan has quit IRC17:30
jintyaaargh!17:32
povbot/svn/commits: * gintas committed revision 4604:17:32
povbot/svn/commits: Forced some rm's to avoid error messages in output when files don't exist.17:32
gintastvon, sorry for the rushed conclusion17:33
gintasI'll try and look around using pdb17:33
tvongintas: np, problem is related17:33
tvongintas: bskahan and I figured it out over jabber17:33
gintasoh17:33
gintaswill you fix it today?17:34
tvonyeah17:34
gintasexcellent17:34
srichtera UI detail I just noticed is that the active action should be highlighted17:36
tvonsrichter: yeah17:36
bska|mobileafk a bit17:37
*** bska|mobile has quit IRC17:37
gintasby the way, issue 329 (event add form broken on Safari) should really be fixed17:41
tvonlets see if konq reproduces it...17:41
tvon...17:42
tvonkde apps take forever to fire up in gnome17:42
srichterbecause they have to lead all the libs17:42
tvonand start all sorts of lil daemon thingies17:43
srichterI suggest running KDE; much nicer anyways ;-)17:43
tvonaha! I knew there was something different about you17:43
tvonoh wow, we have the page footer in ther footer of the event add form here17:43
* srichter is probably one of the langest KDE users; since 0.9 ...17:44
* mgedmin considers starting a GNOME vs KDE flame war for a moment, then drops the idea17:44
tvonhehe17:44
srichterhe he17:46
tvonmy first linux desktop was kde 1.x.. I think on RH 517:48
tvonnot counting fvwm in the school labs... that was solaris anyways17:49
povbot/svn/commits: * gintas committed revision 4605:17:57
povbot/svn/commits: Added Vietnamese translation.17:57
srichtermgedmin: why is the schooltool skin set with a traversal hook?18:02
srichterwouldn't it be better to just make the ST/SB skin the default one?18:03
povbot/svn/commits: * gintas committed revision 4606:18:03
povbot/svn/commits: Added Vietnamese debconf translation for SchoolTool.18:03
mgedminsrichter, we have a (probably ill-considered) use case when the user adds a SchoolToolApplication from the ZMI in a random Zope folder18:05
srichterso, in those cases the ST will not be set as defualt skin18:05
mgedminin those cases we need the traversal hook18:06
srichterand the user has to either manually add it or specify it in the URL18:06
mgedminI do not understand what you're saying18:06
srichterbut this effectively turns off the skin the user wants to use18:06
srichterwell, I think the traversal hook is bad for two reasons:18:07
srichter(1) it basically ignores the user's desires to have a certain skin18:07
srichter(2) it prohibits the user to use a different skin for ST/SB18:08
srichterand for my use case:18:08
srichter(3) the ST/SB skin is not activated outside of the ST/SB instance, which is bad, if you want to integrate other objects (such as the error utility) in the app18:09
srichtermy problem, I think, can be solved by making the SB/ST skin the default skin in the standalone server18:10
srichter(and for the ftests of course)18:10
mgedminI disagree on all three counts :)18:10
srichtermgedmin: over; thoughts?18:10
srichterhe he18:11
mgedminI do not think that the ability to have different skins is important at this point for ST18:11
mgedminI think that having the user specify ++skin++whatever in URLs is an ugly wart18:11
gintasjinty, I applied the translations18:11
srichterof course, I never said to use ++skin++18:11
mgedminI think that Zope 3 plumbing such as error utilities is an internal plumbing detail that does not matter for a typical ST user18:12
srichterso we use the defaultSkin directive18:12
srichtermgedmin: well, it matters in developer mode18:12
mgedminbesides, if an ST instance is a site, then the error utility within it will be skinned with the ST skin18:12
srichterI mean, the error reporting works great on the standalone server18:12
srichterbut I cannot test this, because in the ftests I don't have a standalone server and thus the skin is not chosen18:13
mgedmineh?18:13
mgedminare you talking about ST's custom error pages?18:13
mgedminor the standard zope 3 error reporting utility?18:13
mgedminI believe ST's custom skinned error pages are functionally tested18:14
srichtererror reporting utility18:14
mgedminok18:14
mgedmintwo things18:14
srichterI basically registered two menu items in schoolbell_actions18:15
mgedmin1. I think it is wrong if my adding of a ST instance in a folder suddenly changes the skin of a utility that is not within the ST instance18:15
tvonNote that some of these issues will be less of a problem once we get moved to pagelets and finish the long-running UI work18:15
tvonI think...18:15
srichterin the standalone server they show up, because the SchoolBell app is the root site18:15
mgedmin2. you can add an ST instance, make it a site, then go to /my_st/++etc++site/...utility in a ftest18:16
mgedminhow important is the "add ST as an object in a random Zope 3 instance" use case?18:16
mgedminI'd like to drop it if I can get away with it18:16
mgedminhowever then we'll have to somehow rework our ftests18:17
srichterI think it is dead0unimportant18:17
srichterI think it is dead-unimportant18:17
mgedminJim talked about some improvements for the Z3 test runner18:17
mgedminthat would let us use different ftesting.zcml's for different packages18:17
srichteryes, it can definitely be done with the new level support18:17
mgedminin that case we could have a zcml that corresponds to our standalone server18:17
srichteryep18:17
mgedmindrop the traversal subscriber and use defaultSkin18:18
srichterright18:19
srichtermgedmin: on a totally different topic, we should move all ftests to testbrowser ASAP ;-)18:20
gintashmm, I remembered just now that we did not touch the SB/ST split at all during the meeting18:21
povbot/svn/commits: * gintas committed revision 4607:18:22
povbot/svn/commits: Cosmetic fixes.18:22
srichtergintas: yep :-(18:23
srichtermgedmin: gintas: do you guys have time/want to discusss it now?18:23
gintasI could spare some time, dunno about mgedmin18:24
* mgedmin is packing a bunch of zope data.fs'es to free up some disk space on a server18:24
mgedminI can multitask18:24
srichterok18:24
mgedminmy original vision was to have schoolbell.app and schooltool completely separate18:24
mgedmintwo different apps assembled from shared components18:25
mgedminthe vision proved to be too utopic18:25
gintasthat's why we call these things visions18:25
gintas;)18:25
mgedminthus now we have the strange tangle18:25
srichteryep18:25
mgedminfull of inheritance and duplication18:25
*** SteveA has quit IRC18:25
srichterso I would suggest making SchoolBell a specific instance of SchoolTool18:25
mgedminI'm not certain how merging ST/SB would make things simpler18:26
mgedminhow do you remove the unnecessary things?18:26
srichterthey are shared then18:26
tvonSo instead of ST being SB with extra bits bolted on, SB would be ST with less bits added?18:26
srichteryes18:26
srichterbasically you take the feature-richer app and just don't provide all the features18:27
gintasthe conversion could be very messy18:27
mgedminI do not understand18:27
srichterand basically apply a different skin18:27
gintasright now we use layers to override all kinds of stuff18:27
mgedminhow exactly do you "not provide all the features"?18:27
srichterfor example:18:27
mgedminhide views in a skin?18:27
srichterdon't even register superfluous views18:28
srichterbut for example:18:28
srichterST has levels18:28
srichterSB does not18:28
srichterso, we have the levels in a special package called "levels"18:29
srichterin SB we simply do not distribute this package18:29
srichterand nothing will happen18:29
srichterthe only obstacle here is that we need to make the SB/ST app initialization more flexible18:29
srichterby creating those sub-containers (persons, groups, ...) with adapters (factories)18:30
srichterif we make sufficient use of the CA, then I think we can very effectively merge the two18:31
gintasstill sounds like a lot of trouble to me18:31
srichter(I never said it would be easy)18:31
srichterbut it is definitely worth it18:32
mgedminhow is it different from what we have now?18:32
srichterthe current situation is just insane!18:32
srichtera lot less code duplication18:32
gintaswhere in particular would you see big wins in reducing redundancy?18:33
gintasbackend? views? initialization routines?18:33
srichtereverywhere18:34
srichterall accross the board18:34
srichter(less for views, because there are specifics for each app, which is understandable)18:34
mgedminso you want to have one source tree18:34
mgedminand a bunch of zpkg config files18:34
srichteryes18:34
srichteryes18:34
mgedminand then produce ST by taking everything, and produce SB by taking a subset of Python packages18:35
srichterand in src/schooltool a package called "sbapp" that contains only some of the specific view stuff18:35
srichteryes18:35
srichterit's basically the difference between distributing zope.component versus Zope 3, the app18:36
srichteror simple Zope 3 app and zwiki, including everything18:36
srichterhere is an example of the worst case code duplication that will drive a third party developer insane:18:36
srichterwhat is the difference between sb.app.interfaces.IPerson and st.interfaces.IPerson?18:37
mgedminextra attributes, IIRC18:37
gintasone is a subset of another18:37
srichterOne single ITimetabled inherited interface!18:37
mgedminsb's persons have no timetables18:37
mgedminso if you do not include the timetabling package in SB, what happens with IPerson?18:38
mgedmindoes it have an attribute for storing timetables that never can be used?18:38
srichterwould be one solution18:38
mgedminwhat about absence tracking, or grades, or other things?18:38
mgedmin(once we add them)18:38
mgedminSB won't have any of those things, ST will18:38
srichteranother would be to make this part of the implementation18:39
srichterright, they are simply disabled18:39
mgedminhow do you disable an attribute?18:39
srichterthey should not be attributes in the first place18:39
mgedminwhat should they be then?18:39
mgedminannotations? adapters?18:39
srichterattributes should only describe the core data that is independent of the environemnt18:39
srichteryes, adapters that use annotations18:40
srichterthat is the Zope 3 way to do it and it will allow us to make our objects as feature-rich or feature-poor as we need them18:40
gintaswell, I don't want to rewrite SchoolTool a third time18:41
srichterthis can be done very gradually over the next months18:41
srichterI can always ask Tom whether he let's me do it18:41
srichterif you are burned out ;-)18:42
mgedminI would be very happy if ST and SB were two applications combined with ZCML from a single soup of components18:42
mgedminbut I am not yet convinced your way is feasible18:43
srichterbtw, the st.level is a good example on how I extended ST without touching anything else; except the one palce I could not avoid18:43
srichtermgedmin: good to have your support18:44
mgedmin(I've yet to take a look at it)18:44
srichtermgedmin: that's the reason I really wanted to check with you18:44
gintassrichter, I'm not against the idea18:44
gintasI just don't have a clear picture of how it could be executed18:44
gintasby the way, during the coming 6 months I will be available on a very limited basis (if at all), so should you decide to carry out the idea, I probably won't be able to contribute much18:45
srichterI could spend the next day or two demonstrating how it should be done on a couple of examples18:45
gintasso you needn't listen to me ;)18:45
srichter:-)18:46
srichtermgedmin: do you have concrete examples of where it all might not be feasible?18:47
mgedmineverywhere ;)18:48
srichtermgedmin: do you think that ST is well-tested?18:49
mgedminyes18:49
srichterso if I poke around, but get all tests to pass, it will work?18:49
mgedmin(hopefully)18:49
mgedminin theory18:49
srichterok18:49
srichterI am going to start a branch and try a couple of things18:50
srichter1. Remove the ITimetabled from Person, Group, Resource18:50
gintasif you turn everything upside down, and then turn all tests upside down, I wouldn't be very confident in the results even if all the tests passed18:50
srichter2. Remove sb.IAdaptableToSchoolBellApplication from ICourseContainer, ICourseContained...18:51
mgedminin theory you could refactor everything and then get unmodified functional tests passing18:51
mgedmin(2): yay!18:51
gintasIAdaptableToSchoolBellApplication is a wart IMHO18:51
mgedminIAdaptableTo....Application was a mistake18:51
srichtermgedmin: right, that is the goal18:51
srichteras long as I get all ftests passing, it should mean the app works18:52
gintasI'm not sure I trust the coverage of functional tests18:52
mgedminsrichter, would you have a single skin for both ST and SB?18:52
srichteryes18:52
mgedminwith different contents depending on which packages were included?18:52
srichterbut that might be debatable18:52
srichterI think a SB skin that derives from ST skin might be cleaner18:52
mgedminok18:53
srichteryes, that would be the noblest goal18:53
srichter(to not have a second skin and manage everything with ZCML and package inclusion)18:53
mgedminby the way, due to our (ill-considered?) choice to support SB/ST as a Zope 3 content object18:53
mgedminwe could not have implemented your scheme18:54
mgedminbecause somebody might want to add both ST and SB as content objects18:54
srichterwhich scheme?18:54
mgedminin a single zope 3 instance18:54
mgedminso ST and SB have to be zcml-compatible now18:54
srichtermmh, good point18:54
mgedmin(your scheme to make ST and SB differ in ZCML and the set of python packages)18:54
mgedminthat's one of the reasons we had different sets of parallel object interfaces, skins, etc18:55
srichteryes, that would be a true issue, which I think can be overcome (but it might make it much, much harder to do)18:55
mgedminbtw I think a lot of page template duplication could be avoided with pagelets18:55
srichterright, no question about that18:55
srichterok, I would claim that noone would run SB and ST on the same instance18:56
srichterif we think that is a good assumption, we should be safe18:56
mgedminif we drop "SB/ST as a Z3 content object" use case, we're good anyway18:56
srichteryes18:57
srichterok, I'll assume we drop that requirement18:57
tvonthen couldn't we have the extra bits in schooltool setup via events?  so it's basically just determined by an extra zcml include?18:57
srichterevents are one way to provide extra functionality18:57
srichteradapters are another18:58
tvonso the terms package would add the terms container, courses adds course container..18:58
tvonah18:58
srichteryes18:58
srichterin fact now that you mention it, I really like the event idea for instantiation the ST/SB app18:58
srichterit is better than having custom subscribers, named adapters or named utilities18:59
tvonone thing to consider (maybe), what happens when someone has a SB instance and they later go add the ST zcml includes"18:59
tvons/"/?18:59
srichtertvon: well, you cannot do this right now either, so let's not add additional use cases at this point19:00
* tvon nods19:00
srichter(though I have an answer for you: generation scripts)19:00
tvonah19:01
tvonassuming they want their SB turned into a ST and they didn't just screw the pooch19:02
tvonbut, later19:02
povbot/svn/commits: * srichter committed revision 4608:19:04
povbot/svn/commits: Create a branch to work on some refactorings to demonstrate that we can merge schooltool and schoolbell.19:04
povbot/svn/commits: * srichter committed revision 4609:19:05
povbot/svn/commits: Make a copy of schoolbell.19:05
povbot/svn/commits: * srichter committed revision 4610:19:05
povbot/svn/commits: Make a copy of schooltool.19:05
mgedminI'll write up my thoughts about ST/SB reorganization and send them to the mailing list19:10
srichtergreat19:10
tvonmaybe hackish, but sbapp could have a boolean property "isSchoolTool" or "isSchoolBell" that event subscribers could check19:11
* mgedmin would REALLY like to avoid that19:11
srichteryep, nothing like that should exist19:11
povbot/svn/commits: * gintas committed revision 4611:19:12
povbot/svn/commits: Marked an ugly hack with an XXX.19:12
tvonheh, okay19:12
srichterthe entire point of the merge would be that there is no difference at all between the two19:13
srichterjust configuration makes them look/behave otherwsie19:14
povbot/svn/commits: * srichter committed revision 4612:19:15
povbot/svn/commits: Corrected linkage.19:15
mgedmin"there is no difference" is not achievable, period19:16
mgedmin"minimizing differences" is a possible goal19:16
mgedminuh, probably we're talking about the same thing but using different words ;)19:16
srichter:-) I think we are.19:17
tvonI see it as code reuse.. there would be no need for SchoolToolApplication() or duplicate adapters (one adapting to ischoolbellapp and another to ischooltoolapp)19:17
srichterI meant explicitely the objects should be not difference; but difference will occur due to different config and different view registrations19:17
tvonsame classes, different instances?19:18
tvonnm19:18
srichterwell, that's the same :-)19:18
srichterthere will be only an ISchoolToolApplication interface19:19
tvonwouldn't there be only one SchoolToolApplication?19:19
srichterwell, most will have one isntance yes19:19
tvonone of them has more containers due to them being added after the object is created? or are we still going to have two different class definitions?19:20
srichterno, one class definition19:20
tvonokay, cool19:20
srichtermgedmin: an organizational question: of course we want to have a lot less stuff in app.py, so we put goup/groupcontainer into separate modules19:22
srichtershould we make those packages or modules?19:22
srichterI think they should be packages, even if very small, so that we can distribute them more easily19:22
mgedminit depends19:22
mgedmine.g. if they have their own modular zcml, then they should be packages19:22
mgedminI general I try to avoid circular dependencies19:23
srichtermmh, how do we decide this?19:23
mgedminand it might be difficult in this case -- person views know about groups, for example, and group views know about persons19:23
*** gintas has quit IRC19:25
srichtermgedmin: was the adaptation to ISchoolBellApplication really needed for something? Or is it totally replaced by the getSchoolBellApplication function?19:32
mgedminlet me see... in a couple of views we had the need to get the application itself when context was something different (e.g. a person container)19:41
mgedminso we introduced the interface and adaptation, as a flexible mechanism to get the app object without hardcoding object relationships all over the place19:42
mgedminlater we found out it wasn't enough19:42
mgedminwe needed the app for some contexts that had no adapters19:42
mgedminso we changed getSchoolXXXApplication to get the app from the site instead19:42
srichterok, cool19:42
srichterthat's what I thought19:43
mgedminbut did not find the time to rip out old adapters etc19:43
srichter(btw, I don't think this was a bad move)19:43
povbot/svn/commits: * jinty committed revision 4613:19:52
povbot/svn/commits: Work around a subtle bug in zope.configuration.config and synchronize from schooltool setup.py.19:52
srichterI think we will need to develop a layer for the rest views as well20:09
povbot/svn/commits: * srichter committed revision 4614:20:19
povbot/svn/commits: Removed IAdaptableToSchoolBellApplication interface.20:19
srichterokay, step (2) is done20:49
povbot/svn/commits: * srichter committed revision 4615:20:50
povbot/svn/commits: No more IAdaptableToSchoolBellApplication interface. Yipee.20:50
*** bskahan has joined #schooltool20:53
povbot/svn/commits: * jinty committed revision 4616:20:54
povbot/svn/commits: Sync changes from schoolbell setup.py and Makefile. You should now be able to delete the Zope3 external from schooltool. However, using a 3.1 tarball distribution WILL NOT WORK as it does not contain zope.app.wfmc20:54
srichterargh, what are those overlaid_calendars in IPerson?20:57
srichterargh, what are those `overlaid_calendars` in *Person*?20:58
srichterthey are not documented in any interface that Person implements20:58
mgedminlet me check21:00
tvonOverlaidCalendarsProperty?21:00
tvoner..21:00
srichterwhy is it not in any interface?21:00
srichteralso, why does it use an underscore?21:00
mgedminschoolbell.app.interfaces.IReadPerson21:00
mgedmin    overlaid_calendars = Attribute("""Additional calendars to overlay. ...""")21:00
srichterok, I see21:02
srichtermmh, the security on ITimetabled is strange21:09
srichterall objects' ITimetabled interface is publically allowed, except for Person, where you require schoolbell.viewCalendar21:10
srichterthat does not make sense21:10
bskahantvon: tried the calendar widget from trunk on safari21:46
tvonbskahan: does it work?21:47
bskahanworks mostly here21:47
tvonheh, mostly?21:47
bskahanmaybe tom has the version without the css fix21:47
bskahanit works, except its slightly off position (not far off), after it hides, there's shmutz left from the border21:48
tvonrm, okay21:49
bskahanthe shmutz is a serious issue, the positioning is not21:49
tvonis it a rendering issue?21:49
bskahanyeah21:49
tvoneg, a safari redraw issue?21:49
bskahanright21:49
tvonsuck21:49
bskahanbut it doesn't seem like safari can't handle dynamic forms21:49
bskahanso I'm not sure where to start looking for a way to fix that21:50
*** ignas_ has quit IRC22:12
*** mgedmin has quit IRC22:14
*** bskahan has quit IRC22:55
*** jonesiebo has joined #schooltool23:07
*** jonesiebo has left #schooltool23:11
*** bskahan has joined #schooltool23:14
*** jonesieboy has joined #schooltool23:21
*** jonesieboy has left #schooltool23:24
*** jonesieboy has joined #schooltool23:24
*** jonesieboy has quit IRC23:25

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