IRC log of #schooltool for Monday, 2005-02-14

*** mgedmin has joined #schooltool02:11
*** mgedmin has quit IRC02:20
*** alga has quit IRC03:11
*** d2m has quit IRC03:34
*** th1a has joined #schooltool05:33
*** tvon has quit IRC06:11
*** bskahan has joined #schooltool06:28
*** bskahan has left #schooltool07:48
*** SteveA has joined #schooltool09:18
*** d2m has joined #schooltool10:09
*** SteveA has quit IRC10:42
*** SteveA has joined #schooltool10:54
*** Aiste has quit IRC11:42
*** Aiste has joined #schooltool11:51
*** mgedmin has joined #schooltool12:09
*** SteveA has quit IRC12:28
*** SteveA has joined #schooltool12:30
mgedminI am *so* happy I checked in my experimental standalone-zope3-schoolbell script into svn12:30
mgedminmy hard disk died totally yesterday12:30
mgedminI spent most of the day reinstalling ubuntu, upgrading to hoary, and restoring data from backups12:31
* mgedmin looks around for jinty12:55
*** thisfred has joined #schooltool13:37
*** SteveA has quit IRC14:05
*** SteveA has joined #schooltool14:06
*** jenny_ejecefd has joined #schooltool14:53
*** jenny_ejecefd has left #schooltool14:54
*** SteveA has quit IRC15:29
*** SteveA has joined #schooltool15:31
*** Bahne has joined #schooltool15:35
*** Bahne has left #schooltool15:48
*** tvon has joined #schooltool15:54
*** mgedmin has quit IRC16:10
*** SteveA has quit IRC16:36
*** SteveA has joined #schooltool16:37
*** alga has joined #SchoolTool17:02
*** bskahan has joined #schooltool17:03
*** bska|mobile has joined #schooltool17:03
*** bskahan has quit IRC17:04
*** tvon has quit IRC17:27
*** tvon has joined #schooltool17:41
*** SteveA has quit IRC17:46
*** SteveA has joined #schooltool17:48
*** gintas has joined #schooltool17:49
* th1a looks around for mgedmin.17:58
bska|mobilehey all18:00
th1aGood morning/afternoon.18:00
gintashi everyone18:01
*** mgedmin has joined #schooltool18:01
th1aOK.  Can we start with an update from POV?18:02
algaOK18:03
algaI was working on the security machinery18:03
algaI asked zope3-dev@ and we discussed the stuff a bit18:03
algathe solution was to create our own local auth utility18:03
algait uses Zope 3 sessions to store the creds18:04
algaand it is automatically added when the SchoolBell instance is added to a folder18:05
algaright now I'm working on the ACLs view which will use local grants for emulating the ACL functionality18:05
algabasically, session-based login-logout works, but everything is allowed yet18:06
algaGintas?18:06
gintasI've been working on calendaring together with ignas18:07
gintaswe have the calendar views more or less working, but the event adding form is still extremely ugly18:07
gintasMarius and I have added recurrent event support to schoolbell.calendar, and recurrent events now should show up properly on the calendar views18:08
gintasevents can not be edited yet, but they can be deleted18:08
th1aEtria will be doing some work on the event add/edit forms, too.18:09
gintasalthough I have not ported the recurrent event deletion logic yet18:09
mgedminrecurring event should be fully supported by the back end (schoolbell.calendar package) now18:09
th1aActually, make sure you don't re-implement the resource booking dialog, since that's going to be merged into the event forms.18:10
mgedminI also spiked a standalone schoolbell program that starts up as much as necessary of zope 3 and sets up a schoolbell instance instead of the root folder18:10
th1aWhat does "spiked" mean exactly?18:11
gintashacked up ;)18:11
mgedminit's an extreme programming term, I believe18:11
gintassketched, came up with a working implementation18:11
mgedminwhen you don't know how to do something18:11
th1aOK.18:11
tvonit is now18:11
mgedminyou just try to do it18:11
mgedminwithout unit tests18:11
mgedminin a hacky way18:11
mgedminjust to understand the problem and find out which solutions are viable18:11
mgedminthen you throw everything away18:11
th1aWithout unit tests!?!?!!?18:11
mgedminand reimplement it using proper test-driven development techniques18:11
tvonheh18:11
th1aDoesn't that give you hives, mgedmin?18:12
mgedminwhat?18:12
algaThat's spiking18:12
mgedminprogramming without unit tests, or throwing code away?18:12
alga:)18:12
th1aProgramming without unit tests.18:12
th1aAnyhow...18:12
tvonwe decided pytz was okay to use, correct?  Are there relating packaging questions that need answering?18:14
th1ajinty did the Debian packaging.18:14
tvonok18:14
th1aShould I be able to log into a z3schoolbell.py instance?18:15
th1aI don't seem to be able to.18:15
mgedmin(zope 3 folks said they wouldn't mind if pytz were to be bundled with zope 3 itself, but someone would have to do that)18:15
algano, it is not supposed to work18:15
mgedminI'm not sure if authentication works in z3schoolbell.py18:15
th1aOK.18:15
mgedminmy browser remembered that I had logged in as a manager via basic auth18:16
mgedminso I never got to test schoolbell's cookie-based auth18:16
algaright18:16
mgedminthe authentication service is set up18:16
algaand that cookie based auth needs a person18:16
mgedminand all functional tests pass18:16
mgedminah, what doesn't work: you cannot use schoolbell's login form to log in as a user that is defined in principals.zcml18:16
mgedminyou can only log-in as a schoolbell person18:17
mgedminwhich presents a chicken-and-egg problem at the moment18:17
th1aOK.18:17
mgedminwe will either create a 'manager' person in the database during startup18:17
mgedminor fix the login form to accept all zope 3 principals18:17
mgedminalga should know which one is easier18:18
th1aWhat's the overall mood in the POV offices?  Is this going pretty much as you expected?18:19
gintasI think so, more or less18:20
mgedminwe feel we're over the hump18:20
th1aOK.18:21
th1aEtria?18:21
mgedminI don't think we will have the time to implement all-day events before the deadline, though18:22
tvonwe put in the base for event descriptions (which I think was everything we could do at the time).. which at least marius has added onto for the ical output.18:22
tvonWe still need to work it into the UI though.18:22
gintasthat is being blocked by our work on the event adding/editing forms18:23
tvonyeah, but it's not a lot of work so that shouldnt' be an issue18:23
bska|mobileCommiting user preferences today which will add the depency on pytz18:23
tvonI'm currently working on the UI for timezone selection, which will go in as soon as Brian commits his preferences setting/getting work18:23
tvonyeah18:23
th1aRe-writing the whole application causes all sort of little scheduling problems.  Hope we don't have to do it again anytime soon :-)18:24
tvonheh, yeah18:24
tvondunno, I was thinking we should go back to twisted for 1.118:24
th1aI'll talk to Mark about it.18:24
alga!?18:24
tvonheh18:24
bska|mobile;)18:24
th1a;-)18:24
* alga chokes on a cookie18:25
tvonsuckers18:25
mgedmin:)18:25
bska|mobilewe'd like to get more clear on what the forward migration requrirements are from 0.9 -> 1.018:25
mgedminIt'd be very nice if Zope 3 came with pytz...18:25
tvonanyways, some of our work was easier than we expected, and other work got punted (RPM building), so the only gray area for us at this point is migration18:25
bska|mobileto decide how long it will take18:25
th1aWell, lets assume the migration requirements are the same as for 0.8 to 0.9.18:26
mgedminas far as I understand, partial migration is OK18:26
mgedminusers, groups, resources, their calendars18:26
th1aI'm purposely not really pushing adoption of 0.9.18:26
th1aConsidering we're practically rewriting the whole damn app.18:27
gintaswell, it's not like we are writing it from scratch18:27
th1aI know.18:27
gintasat least we have a crib, and a working one at that18:27
th1aOtherwise I'd be much more worried.18:27
bska|mobilethat was my concern, I'm wondering if migration isn't easier this time by dumping to xmlish representations of the IAppObjects18:27
tvonas I understand it, the Data.fs from 0.9 is completely incompatible with 1.0, right?18:28
algabska|mobile: +118:28
mgedminbska|mobile, I was thinking about the same thing18:28
th1aI agree.18:28
tvonheh18:28
th1aThat was my thought all along, actually.18:28
mgedminperhaps we can do the extraction with an external python script that uses the RESTive interface18:29
th1aI guess the problem is triggering it in the Debian upgrade process.18:29
tvonhrm18:29
tvonwould ideally be prerm18:29
th1ajinty would prefer that it is seamless.18:30
bska|mobiletvon: a what?18:30
*** jinty has joined #schooltool18:30
gintaspre-removal script?18:30
tvonyeah... for the export18:30
bska|mobileah, debian package term?18:30
tvonI sorta faked it, I'm not sure what the real term is18:30
* jinty is sorry for being late18:31
bska|mobileyour just in time18:31
algathe term is indeed prerm18:31
tvonah18:31
tvongo me18:31
algathe problem is that it is too late for that ;)18:32
tvonyeah, it's part of the package18:32
tvonpart of the 0.9-already-shipped package18:32
algarigt18:32
algah18:32
th1ajinty: We just started discussing upgrade scripts for Debian.18:32
tvonis there anything in a new package that can be run prior to the old package being removed?18:33
jintyah18:33
tvonI figured preinst came too late18:33
bska|mobilejinty: for migrating 0.9 -> 1.0 we want to dump the relevant old data to xml and parse them into the new Data.fs18:33
jintyok. I think it would be the best to do it in the pre-inst of a new package18:34
tvonmaybe schoolbell-1.0 could depend on schoolbell-migration for this round, which would be run before 0.9 got removed18:34
jintythe old libraries will still be around, no running server though18:34
jintytvon: explain?18:35
gintasintroduce a temporary package, schoolbell-migration?18:35
tvonjinty: schoolbell package depends on a temporary package that does not conflict with schoolbell-0.9 (so the server will still be running?)..18:35
tvonyes18:35
tvonso the migration package can hit the restive interface before debian kills the server18:35
th1awe'll never do this again, we promise.18:36
jintyyou can never gaurentee that the server will be running...18:36
tvoncan we start it?18:36
algathe preinst script could start the server and run the export18:36
jintypossibly with a temporary config generated in the pre-inst18:37
mgedminoh, well, old libraries might be enough18:37
mgedminall we need to do is to open the Data.fs file and extract data from it18:37
algatrue18:37
mgedminfor that we need to have the old schooltool python package somewhere so that pickles will work18:37
bska|mobiledoes pre-inst know if its an upgrade vs. a new install?18:38
algait can find out18:38
* jinty goes and checks18:38
algacheck if there is /var/lib/schoolbell/Data.fs, for instance18:38
jintyyes18:38
jintyit is passed the arguments {upgrade|install} old-version18:39
algaleet.18:40
algawhat if we get 0.7 as the version? :-)18:40
jintyeverything goes pear shaped!!!!18:40
tvonwe detonate18:40
jintyrm -rf /18:40
tvonspit some error about base-config failing and send em to #debian18:41
mgedmin/usr/sbin/electrocute-user18:41
bska|mobileall their base ...18:41
jintyperhaps a debconf note letting the user know and advising them to upgrade 0.7>0.8>0.9>1.018:41
*** SteveA has quit IRC18:42
gintascan we force the user to upgrade in several steps?18:42
gintascan we have a package with Depends: on its own specific version?18:42
tvonprovide archive.debian links (or whatever that server is with all-debian-packages-that-ever-existed)18:42
jintygintas???18:42
th1aA note or warning is sufficient for hypothetical 0.7 users.18:42
bska|mobileactually thats important, need to know if the script is going to use 0.8 libs or 0.9 libs18:42
bska|mobile(maybe)18:43
* jinty gets a headache18:43
gintasjinty, I was just hypothesizing if we could somehow make the apt machinery update the package in steps18:43
bska|mobilethinking about it more, I'm not sure that it matters whether they have 0.8 or 0.918:43
jintysorry, i don't think it's possible18:43
gintasok18:44
* mgedmin shrugs18:44
mgedminwe could tell the users 'sorry, cannot upgrade 0.7 directly to 0.9, please download 0.8 from www.schooltool.org and perform the upgrade in two steps'18:45
mgedminor give them a choice to rm -rf their data18:45
th1aIt would be nice if admins could also trigger the export script manually.18:45
mgedminor ship the minimum number of packages from 0.8 and 0.9 directly in 1.0 deb18:45
mgedminand then run the data extraction script with a specific python path18:46
mgedminPYTHONPATH=/usr/lib/schooltool/compat/0.8/18:46
mgedminPYTHONPATH=/usr/lib/schooltool/compat/0.9/18:46
algabut bska|mobile has a point there18:47
mgedminI believe debian's postgresql package does something like this18:47
th1aI don't really think anyone is currently running SchoolTool 0.7 in production and worried about losing their data.18:47
tvonit is unlikely18:47
bska|mobilealga: which point?18:47
bska|mobileI take back the part about not needing to know18:47
algathat the script does not much care whether it's using 0.8 or 0.918:47
jintymgedmin: it is possible, I will have a look at postgre18:47
bska|mobilehave to use 0.8 libs to get the relationships out of a 0.8 zodb18:48
tvonif we were using rest it might not matter, but for libs it does18:48
algano, assume Data.fs is the same version as the software18:48
bska|mobilebecause the relationship methods between 8/9 are incompatible18:48
* bska|mobile nods18:48
mgedminbska|mobile, but you already implemented data extraction from 0.8 by using 0.9 libs18:48
mgedminthe code is a bit ugly, but it works18:48
bska|mobileyeah18:49
mgedminanyway, let's not get too bogged down here18:49
mgedminthere are several possible paths to implement db upgrades18:49
th1aWe're pretty deep in the bog already.18:49
mgedminsomeone will just have to sit down and implement one of them18:49
th1asomeone = tvon and bskahan18:50
* mgedmin is happy :)18:50
tvonheh18:50
bska|mobileI'm pretty comfortable with extracting impotrting the data for migration in a clean environment, just need to know the limitations of debian package upgrades18:50
bska|mobileto know whats possible and whats not18:50
gintasby the way, I think that we should adopt Zope3 generations.  Had we done that earlier, we wouldn't have this headache here18:51
jintythere are a number of possibilities, have seen at least 3-4 approaches here already18:51
mgedmin+1 for generations18:51
tvon+1018:51
jintybska: lets finish this in a mail conversation18:52
* bska|mobile nods18:52
tvoncc me on those18:52
* mgedmin too18:52
jintyok18:52
mgedminshould I just go and create the schooltool-dev mailing list?18:52
tvonmight as well do the mailing list18:52
jintyyay!18:52
* mgedmin is actually not quite sure how to do that with mailman18:52
tvoncreate a new list?18:53
mgedminit was suggested on the mailing list18:53
jintyalso add me to the nosy list for roundup18:53
mgedminok18:53
th1ame too, actually.18:53
*** SteveA has joined #schooltool18:53
tvonI can handle mailman stuffs if so desired18:54
tvonno whiz, but I've had to put up with it a fair amount to date18:54
mgedminjinty, th1a: you are now in the initial nosy list18:56
jintythanks!18:56
th1aI'm going to meet with Stephan Richter this week to discuss some ideas for SchoolTool design.18:56
th1aHopefully get a better sense of what we can do with Z3 workflows.18:57
tvonyah18:57
bska|mobilegintas: know any good docs on generations other than the zope3 wiki?18:58
th1aOK.  I think we're done.18:58
gintasbska|mobile, see the doctest18:58
tvoncool18:58
mgedminthere's a nice readme in the source code18:58
gintasactually it's pretty straightforward18:58
tvonafk a bit...18:58
mgedminin zope/app/generations iirc18:58
bska|mobilemgedmin: thanks18:58
mgedminI was reading it this weekend18:59
gintasfor now I think you will be able to get away without any code, just a single ZCML declaration18:59
bska|mobiledeclaring version 0.9 of the DB18:59
bska|mobileer18:59
bska|mobile1.018:59
gintasmore like version 118:59
bska|mobilethen 1.1 will deal with the SchemaManager18:59
mgedminmore like generation 118:59
mgedmingeneration numbers are integers, I believe18:59
mgedminso no 1.118:59
gintasyeah, a bit similar to subversion revisions19:00
bska|mobilefound the readme19:01
algathen it could be 0x0001000119:01
mgedminalga, I'm pretty sure you would see that as 65537 in ++etc++process19:02
alga:)19:02
algaso? :-)19:02
mgedminit could also be generation 200502140019:03
mgedminjust like DNS serial numbers ;)19:03
mgedminplease, no19:03
mgedminare we about done with the meeting?19:03
jintymgedmin: you were looking for me?19:03
* mgedmin nods19:03
* th1a needs a digital gavel.19:03
th1aYes, we are done.19:04
mgedmindebian bug about FTBFS19:04
bska|mobileth1a: /topic19:04
jintyah, im replying to your mail now19:04
mgedminok19:04
* th1a needs to force himself to learn more about IRC.19:04
*** gintas has quit IRC19:04
bska|mobileshould switch to jabber-muc instead19:04
mgedminth1a, http://taoriver.net/img/for_cw/floss-communications.png19:05
bska|mobilenice19:06
th1aThat pretty much sums it up.19:06
mgedminSteveA, ayt?19:08
jintyah mgedmin, connecting pathconfig to the rest of schoolbell? do you know a good point of entry off hand?19:09
mgedminjinty, what is the rest of schoolbell?19:09
*** sivang has joined #schooltool19:10
jintywell, there is a pathconfig module in src/schoolbell sitting there and not connected to anything yet19:10
*** sivang has left #schooltool19:10
mgedminah19:11
jintybut the insides of src/schoolbell are quite different19:11
mgedminyep, zope 3 stuff19:11
mgedminthis is going to be fun...19:11
jintyyipeee!19:11
jintythere is also the issue of where the zcml files are going to be installed19:12
mgedminsame place as .py files?19:13
mgedminI don't remember, are .py files in /usr/lib or in /usr/sharE?19:13
jinty/usr/lib19:13
mgedminwhy?19:13
mgedminbecause otherwise it is too difficult to get extension modules working?19:13
jintybecause they are bytecompiled in place on installation19:13
mgedminaren't python bytecodes arch-independent?19:14
jintyI have never seen a python module install into anywhere else than /usr/lib19:14
mgedminiirc debian python policy suggested putting python modules in /usr/share/$package, /usr/lib/$package, or /usr/lib/python, depending on circumstances19:14
jintycould you give me a reference for that, I can't find it in the policy19:16
jintyah, got it19:17
mgedmindoes anyone know if "initial user" in mailman-speak is the same thing as "administrator"?19:18
jintydo you mean this: TODO: What about /usr/share/pythonX.Y? Wait for upstream ... see http://python.org/sf/58875619:18
mgedminno, I meant /usr/share/$package19:19
jintyok then I can't find anything in the policy19:20
mgedminit was there when I last looked at it, which was ages ago19:21
mgedminurl?19:21
jintyhttp://www.debian.org/doc/packaging-manuals/python-policy/19:21
jintyThere is the option of hacking the schoolbell part of the setup.py to do the same thing as the zope setup. In which case everything will install into /usr/lib, but it's not ideal because the pictures really should be in /usr/share.19:26
mgedminjinty, I was referring to this bit of http://www.debian.org/doc/packaging-manuals/python-policy/ch-programs.html#s-current_version_progs19:29
mgedmin"If the private modules would pollute the name space in sys.path, the modules should be installed in /usr/lib/package (for architecture any) or /usr/share/package (for architecture all). In this case, the directory should be added to sys.path at the program startup."19:29
mgedminschoolbell itself does not have any extension modules, so it could be architecture all19:29
mgedminzope 3 has extension modules, so it can't19:30
jintyyay!19:30
mgedminbut even zope3, I believe, allows you to install py files in /usr/share and .so files in /usr/lib19:30
mgedminits extension modules are intentionally named like _zope_interface_coptimisations.so19:31
mgedminand they are always imported with a single name (i.e. import _zope_interface_coptimisations)19:31
jintyah19:31
mgedminso that they could be placed directly in pythonpath19:31
mgedminat least I think so19:31
mgedminI've never tried it19:32
mgedminI haven't even looked at the zope 3 deb in ubuntu19:32
* jinty is feeling stupid and wonders why he was running around in circles19:32
mgedminwell, I could be wrong19:33
mgedminok, who wants to be mass-subscribed to the brand new schooltool-dev mailing list?19:34
mgedmin(I suppose I should first check if it works...)19:34
* jinty sticks up his hand19:34
mgedminth1a, tvon, bska|mobile ?19:38
tvonhowdy19:38
tvonyeah19:38
tvonof course19:38
tvonbskahan as well19:39
mgedminth1a, ?19:40
* mgedmin times out and assumes the answer is "yes"19:41
mgedminok, you are now subscribed19:42
alga"You DID opt in!  Click here to unsubscribe"19:44
mgedminok, it works19:44
*** tvon has quit IRC19:45
*** tvon has joined #schooltool19:45
tvonstupid wifi19:46
tvonyes, please add me to the new list19:46
tvonbskahan as well19:46
bska|mobilegot it19:55
tvonyuppers19:56
*** SteveA has quit IRC19:57
* jinty will start the conversation on the db upgrade tomorrow when he has time and connection.20:00
*** jinty has quit IRC20:00
*** faassen has joined #schooltool20:03
*** SteveA has joined #schooltool20:08
SteveAmgedmin: hello20:11
th1amgedmin:  Subscribe me.20:11
mgedminalready done20:11
mgedminSteveA, I wanted to ask you how to create a new list with mailman on osprey, but I already figured that out20:12
*** tvon has quit IRC20:12
SteveAmgedmin: cool20:14
SteveAmgedmin: shouldn't this be on the new schooltool server ?20:14
mgedminis there a new schooltool server yet?20:16
th1aThere is, but we don't have time to do the migration right now, unless you want to moonlight, mgedmin.20:18
th1aThat'll probably be your first task after this contract is done.20:20
*** alga has quit IRC20:28
*** faassen has quit IRC21:08
*** SteveA has quit IRC21:14
*** SteveA has joined #schooltool21:23
*** Aiste has quit IRC22:35
*** SteveA has quit IRC22:53
*** mgedmin has quit IRC22:56
*** SteveA has joined #schooltool23:03
*** jinty has joined #schooltool23:04
*** hazmat has joined #schooltool23:45

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