*** admp has quit IRC | 00:00 | |
*** admp has joined #schooltool | 00:01 | |
jelkner | thanks brian (which nick are you?) | 00:01 |
---|---|---|
jelkner | but that is not the script i'm looking for | 00:02 |
* tvon points at jinty | 00:02 | |
tvon | these are not the droids you are looking for... | 00:02 |
jelkner | droids? | 00:02 |
jelkner | on an ubuntu system, after apt-get install zope3-lib | 00:03 |
jelkner | and /usr/lib/zope3x/bin/mkzopeinstance | 00:03 |
jelkner | putting an instance in a user's home directory | 00:03 |
jelkner | you get a python script called zopectl | 00:04 |
jelkner | you can then symlink to that script from /etc/init.d and you are ready to go | 00:04 |
tvon | there is no zopectl equiv for schooltool afaik | 00:04 |
jelkner | pcardune is busy now, but i put a copy of that in our schooltool directory | 00:05 |
jelkner | renamed it schooltoolctl | 00:05 |
jelkner | and tried to run it | 00:05 |
jelkner | i get: | 00:05 |
jelkner | Traceback (most recent call last): | 00:05 |
jelkner | File "./schooltoolctl", line 42, in ? | 00:05 |
jelkner | run() | 00:05 |
jelkner | File "./schooltoolctl", line 37, in run | 00:05 |
jelkner | from zdaemon.zdctl import main | 00:05 |
jelkner | ImportError: No module named zdaemon.zdctl | 00:05 |
tvon | jelkner: you can't use that script | 00:06 |
jelkner | would it be possible to use something like it? | 00:06 |
jelkner | it really makes things *easy* on gnu/linux systems | 00:06 |
tvon | That script works in init.d because it accepts the basic start|stop arguments that init scripts are passed | 00:06 |
jelkner | yes, thats what i want | 00: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 | |
jelkner | oh, you have to do the system v symlinks | 00:07 |
jelkner | but i know how to do that | 00:07 |
jelkner | or just update-rc.d | 00:08 |
jelkner | once in place /etc/init.d/schooltool start | stop | restart work | 00:08 |
jinty | The script I sent should work | 00:09 |
jinty | in almost exactly the same way | 00:10 |
jelkner | i started to make changes to it | 00:11 |
jinty | pity you aren't running debian/ubuntu, I could be a bit more helpful then | 00:11 |
jelkner | but i didn't get very far | 00:12 |
jinty | what happened? | 00:12 |
jelkner | for example, we have package=schoolbell | 00:12 |
jelkner | and | 00:12 |
jelkner | DAEMON=/usr/bin/$package | 00:12 |
jelkner | our instance is in /opt/schooltool-fork | 00:12 |
jelkner | we don't have anything in /usr/bin at all | 00:13 |
jinty | so change it to DAEMON=/opt/schooltool-fork/schooltool-server.py | 00:13 |
jelkner | ok, will try | 00:13 |
jinty | also, the others : | 00:14 |
jinty | DESC="SchoolTool" | 00:15 |
jinty | PIDFILE=/opt/schooltool-fork/schooltool.pid | 00:16 |
srichter | fork? | 00:16 |
srichter | eek | 00:16 |
jinty | more like a spoon;) | 00:17 |
jinty | CONFIGFILE should also change, and I am not sure about DEFAULTFILE (fedora specific stuff) | 00:19 |
jelkner | they had to fork schooltool to get cando to work | 00:22 |
jelkner | so they are calling it schooltool-fork | 00:22 |
eldafar | we called it fork, so that we can't beat it for long, and will eventually get rid of it | 00:22 |
eldafar | beat = bear* | 00:23 |
* jinty imagines the pain updating after srichter-refactor lands | 00:23 | |
srichter | I really hope we will move to zpkgtools, so updating should be easy | 00:24 |
srichter | also, there will be more discrete packages, which should help packaging | 00:24 |
jelkner | do i need package=? | 00:25 |
jelkner | or do i just get rid of that | 00:25 |
jelkner | ? | 00:25 |
jinty | you probably can get rid of that as long as you don't have ${package} anywhere else. | 00:27 |
* jinty crosses his fingers | 00:27 | |
jelkner | do i need NAME=? or PNAME=? | 00:28 |
jelkner | and PATH=? | 00:28 |
jinty | in your config file, what does the directive pid-file say? | 00:28 |
jinty | all those I wouldn't touch | 00: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 cando | 00:29 | |
jelkner | DEFAULTFILE=/etc/sysconfig/$package what about this? | 00:31 |
jinty | srichter: 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 |
jinty | but then i probably don't understand the advantages very well | 00:33 |
srichter | you are clearly not following latest Zope 3 developments :-) | 00:34 |
jinty | seems a bit like zpkgtools is a sledgehammer that works really well against the zope mountain, but schooltool is a peanut | 00:34 |
srichter | Fred runs just now the final tests that will have zpkgtools build checkouts the same way releases are build | 00:34 |
srichter | I disagree | 00:34 |
jinty | I know | 00:34 |
jinty | but I can be difficult to convince | 00:35 |
* jinty begins to think he is just becoming a grumpy old man | 00:35 | |
srichter | in fact we can use Zope's setup to only include Zope packages that SchoolTool really needs | 00:36 |
srichter | also, we have to become much more aware of dependencies | 00:36 |
srichter | and third party code can use it too | 00:36 |
jinty | Serously I am not very happy to have 2 versions of setup.py and packaging lying around | 00:37 |
jinty | but I still see no way of managing separate release schedules in a sane way, for reasons explained in the mail I sent to the list | 00:38 |
jinty | It would be ok if the coupling between schoolbell and schooltool were less. | 00:39 |
jinty | but that's not the case... | 00:40 |
jinty | anyway I think I will just wait and see what happens... | 00:41 |
srichter | schoolbell will be an almost insignificant subset of schooltool | 00:43 |
jinty | btw: thanks for taking on the big code cleanup | 00:46 |
srichter | you are welcome | 00:49 |
jelkner | update on the init.d script | 00:58 |
jelkner | it starts schooltool | 00:58 |
jelkner | but it can't stop it | 00:58 |
jelkner | and it puts the Data.fs* files and the pid file and the log file in whichever directory you are in when you run the script | 00:59 |
jelkner | why can't we use a modified zopectl? | 00:59 |
tvon | jelkner: for that last bit, adjust the schooltool.conf[.in] file | 00:59 |
tvon | you can tell it where to put all the files | 00:59 |
jelkner | ok | 00:59 |
*** eldafar has quit IRC | 00:59 | |
jelkner | the problem is, that is going to need editing each time you move an instance | 01:00 |
jelkner | the zopectl script figured out where it was located, and adjusted everything automagically | 01:01 |
jelkner | we are aiming to distribute this to schools | 01:01 |
jelkner | where the users will normally be even dumber than i am | 01:01 |
jelkner | so this is way to complicated | 01:02 |
jelkner | too | 01:02 |
jinty | jelkner: make it a package and get them to "apt-get install cando" | 01:02 |
jelkner | there you go | 01:02 |
* jinty hides from srichter | 01:02 | |
jelkner | as long as it works on ubuntu, i'll be happy | 01:02 |
jelkner | now let me look into that config file | 01:03 |
jelkner | the reason i could stop it, btw, is that the pid file was not where expected | 01:03 |
* jinty is quite sure it works on ubuntu | 01:03 | |
* jinty thwaks himself | 01:04 | |
jelkner | jinty: Thanks, jinty! | 01:05 |
jinty | cool | 01:06 |
jinty | btw jelkner, if you want to make packages of cando, let me know | 01:10 |
jelkner | we will *definitely* want an ubuntu package of cando | 01:15 |
jelkner | and we are almost at the point where that makes sense to do | 01:15 |
jelkner | btw. the script almost works now | 01:16 |
jelkner | it starts | 01:16 |
jelkner | and it puts all the files in the right place | 01:16 |
jelkner | but i can't stop it | 01:16 |
jinty | ah! | 01:16 |
jelkner | i think it has something to do with: DAEMON=/opt/schooltool-fork/schooltool-server.py | 01:17 |
jelkner | and then | 01:17 |
jelkner | stop() { | 01:17 |
jelkner | echo -n "Stopping $DESC: $NAME" | 01:17 |
jelkner | killproc $DAEMON | 01:17 |
jelkner | echo "." | 01:17 |
jelkner | } | 01:17 |
jinty | ah yes, there was something about the kernel cutting things off at 15 characters that I had to solve for the debian scripts once | 01:18 |
jinty | perhaps rename schooltool-server.py to schooltool | 01:18 |
jinty | and have DAEMON=/opt/schooltool-fork/schooltool | 01:19 |
jelkner | question: since we have the PID now, couldn't we just use that directly? | 01:19 |
jinty | yeah, that would have been my second suggestion | 01:19 |
jelkner | so, rename the start script first? | 01:19 |
jelkner | i could call it cando | 01:20 |
jelkner | jinty: renaming it cando did the trick! | 01:23 |
jelkner | thanks a 10**6! | 01:23 |
jinty | no worries | 01: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 #schooltool | 01:30 | |
pcardune | jelkner, ayt? | 02:30 |
jelkner | pcardune: i just sent an email to jinty, you and eldar | 02:34 |
jelkner | you should follow up with info to him on getting the cando source | 02:34 |
pcardune | ok | 02:34 |
pcardune | will do | 02:34 |
jelkner | he has kindly offered to make a deb for us | 02:34 |
pcardune | awesome | 02:35 |
*** jelkner has quit IRC | 02:38 | |
*** admp has quit IRC | 02:40 | |
*** tvon has quit IRC | 02:44 | |
*** pcardune has left #schooltool | 03:03 | |
*** tvon has joined #schooltool | 03:04 | |
*** jinty has joined #schooltool | 11:09 | |
*** jinty_ has joined #schooltool | 11:41 | |
*** jinty has quit IRC | 11:42 | |
*** jinty_ has quit IRC | 11:42 | |
*** jinty has joined #schooltool | 12:22 | |
*** jinty has quit IRC | 12:25 | |
*** th1a has joined #schooltool | 12:52 | |
*** th1a has quit IRC | 13:05 | |
*** thisfred has joined #schooltool | 13:10 | |
*** th1a has joined #schooltool | 13:10 | |
*** th1a has quit IRC | 13:23 | |
*** th1a has joined #schooltool | 13:24 | |
*** mgedmin has joined #schooltool | 13:27 | |
*** bskahan has joined #schooltool | 14:10 | |
*** Aiste has quit IRC | 14:40 | |
*** Aiste has joined #schooltool | 14:43 | |
mgedmin | th1a, http://trac.sshkeychain.org/cgi-bin/trac.cgi/wiki/INSTALL | 14:45 |
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 issue338 | 15:07 |
srichter | th1a: I am here now | 15:23 |
srichter | still need to send you this file back, huh? | 15:23 |
th1a | Cool. I'm going to look at cheese for a second. | 15:23 |
srichter | sent | 15:24 |
th1a | Back from cheese viewing. | 15:24 |
srichter | cheese viewing? | 15:25 |
th1a | Aiste was showing us her cheese. | 15:26 |
th1a | It is, reportedly, stinky. | 15:26 |
Aiste | :) | 15:26 |
srichter | the stinkier the better :-) | 15:26 |
th1a | If 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 |
srichter | fine by me | 15:30 |
*** admp has joined #schooltool | 15:30 | |
srichter | we can always use the 3.1 branch | 15:30 |
srichter | but then we don't have testbrowser | 15:30 |
srichter | so the trunk might be the best | 15:30 |
th1a | We'll have a ST 0.12.x release that uses 3.1. | 15:30 |
srichter | ok | 15:31 |
th1a | As 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 |
th1a | srichter: Do those things seem likely. | 15:32 |
th1a | ? | 15:32 |
srichter | I 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 it | 15:32 |
srichter | I am sure testbrowser will be in; it has support accross the board | 15:32 |
th1a | Why wouldn't wfmc make it? | 15:32 |
srichter | if Jim does not feel it is ready | 15:33 |
srichter | he became very conservative about included packages | 15:33 |
th1a | Hm... | 15:33 |
srichter | but no worry | 15:33 |
srichter | people want and use wfmc, so there will be a distributed package | 15:33 |
th1a | OK. | 15:33 |
srichter | another choice is to cut a special ST Zope 3 release from the 3.2 branch | 15:33 |
srichter | (Jim supports this sort of thing and it was one of the design goals of zpkgtools) | 15:34 |
th1a | I'm verbally pinging mgedmin about your proposal... | 15:34 |
srichter | ok | 15:34 |
th1a | It seems reasonable to me. | 15:34 |
srichter | once we have zpkgtools for ST we have many, many options | 15:35 |
srichter | we can distribute a fat TGZ that includes everything from Zope 3, wfmc and ST | 15:36 |
srichter | or a TGS only with ST for packagers, like jinty | 15:36 |
th1a | Forwarding your email... | 15:36 |
srichter | or a TGZ only with ST for packagers, like jinty | 15:36 |
th1a | OK. | 15:36 |
srichter | oops, the test file is missing the zpkgtools work | 15:37 |
srichter | argh | 15:37 |
mgedmin | "- eliminating person details (in anticipation of demographics package)" ? | 15:39 |
mgedmin | I'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 |
srichter | ok | 15:40 |
srichter | I know how to do that | 15:40 |
th1a | Pretty much the same thing, I think. | 15:40 |
srichter | this is the same as preferences in zope.app.preference | 15:41 |
th1a | srichter: Something we've been talking about here. | 15:41 |
srichter | ok, if you could give me details on the requirements I can implement that, if you want | 15:41 |
srichter | (I was going to ask about that point) | 15:41 |
th1a | I've been talking about it with POV, so there's no real reason for you to do it. | 15:42 |
srichter | ok | 15:42 |
th1a | It ties into work they'll be doing later. | 15:42 |
srichter | I wonder whether preferences should just be another demographics then | 15:42 |
srichter | this would solve a bunch of problems | 15:42 |
th1a | I'm not sure we're talking about the same thing. | 15:43 |
th1a | Right now we've got some contact info & personal data hard wired in (email address, etc). | 15:43 |
srichter | well, don't you mean you want to store arbitrary data on an object using annotations and schemas? | 15:43 |
th1a | Yes. | 15:43 |
srichter | oh, ok | 15:43 |
srichter | demogrpahics in the sense of a PIM application? | 15:44 |
th1a | Demographics as in you are a white male student. | 15:44 |
povbot | /svn/commits: * mg committed revision 4679: | 15:44 |
povbot | /svn/commits: Added an assertion | 15:44 |
srichter | so that would require a storage system backend | 15:45 |
th1a | ? | 15:45 |
srichter | which could be reused for preferences as well | 15:45 |
*** jinty has joined #schooltool | 15:45 | |
* mgedmin doesn't think lumping preferences with demographics & contact info is a good idea | 15:46 | |
srichter | You basically want to be able to say IFoo(person) | 15:46 |
th1a | Yeah, I don't think it is the same problem. | 15:46 |
srichter | but have a general adapter that knows how to generally adapt those "association data" schemas | 15:46 |
srichter | why is it not the same problem? | 15:47 |
*** alga has joined #SchoolTool | 15: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 |
mgedmin | maybe it is. I'd have to take a look at what you have | 15:48 |
th1a | Regardless, it is a separate problem to be solved later. | 15:48 |
th1a | If we can reuse some of the preferences stuff, great. | 15:48 |
srichter | ok, 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 later | 15:49 |
th1a | I don't think the relationship between the two is that strong. | 15:50 |
srichter | th1a: 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 along | 15:50 |
th1a | I understand, but we do need to come up with a concrete proposal that I can send to Mark. | 15:51 |
srichter | th1a: 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 |
srichter | so you have to solve the problem of easily associating a schema with another interface and solve security issues | 15:52 |
mgedmin | tvon, bskahan: which one of you added batching to group member management pages? | 15:52 |
srichter | I have done that before in zope.app.schemacontent and the zope.app.preference code works similar to this as well | 15:52 |
mgedmin | I have some questions about the page template | 15:52 |
srichter | anyways, that is not a core problem right now | 15:53 |
th1a | So 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 |
bskahan | mgedmin: I haven't added batching anywhere, why? | 15:54 |
srichter | yes | 15:54 |
mgedmin | bskahan, I'm trying to understand why that page template sometimes iterates over all members, and sometimes over a batch | 15:55 |
mgedmin | I think I'm beginning to understand now | 15:55 |
th1a | srichter: OK. I think I see your general point. | 15:55 |
mgedmin | existing member list is not batched | 15:55 |
srichter | basically you want to say: <schooltool:data for="IPerson" schema="ILocalePreferences" /> and everything is done for you | 15:55 |
mgedmin | but when you add new members, you do a search and get a batch of results | 15:55 |
mgedmin | srichter, define everything | 15:55 |
srichter | maybe <schooltool:data for="IPerson" schema="ILocalePreferences">[permission stuff here]</schooltool:data> | 15:56 |
mgedmin | I imagine it would define an adapter that knows how to store data in an annotation, but no views | 15:57 |
srichter | mgedmin: register an adapter for IPerson that uses annotations to store the schema defined in ILocalePreferences | 15:57 |
srichter | no, no views | 15:57 |
srichter | only the adapter to get to the data | 15:57 |
mgedmin | sounds good | 15:57 |
srichter | so you can say: ILocalePreferences(Person()) | 15:57 |
srichter | ok | 15:57 |
srichter | I think this could be reused by both, demographics and preferences | 15:58 |
* mgedmin is annoyed by UserWarning: You did not specify an i18n translation domain for the 'title' field in <string | 15:58 | |
srichter | :-) | 15:58 |
mgedmin | srichter, 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 school | 15:59 |
srichter | We decided that it was necessary to avoid long debugging sessions on why something is not translated | 15:59 |
srichter | there was a heated discussion about it, IIRC | 15:59 |
mgedmin | the other two possibilities are using a Python interface, or a full-blown TTW schema builder | 15:59 |
srichter | mgedmin: you know that we have this already | 15:59 |
srichter | we have already persistent schemas | 16:00 |
srichter | where you can add fields | 16:00 |
srichter | the reason it is not used right now is that Jim broke persistent schemas | 16:00 |
srichter | I really should force him to fix it during the Rivah sprint | 16:00 |
th1a | Oh, schemas in the ZODB? | 16:01 |
srichter | yep | 16:01 |
th1a | When is the Rivah sprint? Where is it? | 16:01 |
srichter | we have views for adding fields and everything in the trunk | 16:01 |
srichter | in F12g on Sept. 1-2 | 16:01 |
th1a | F12g? | 16:01 |
srichter | till then Jim is on vacation, which means he is unaccessible | 16:01 |
th1a | Fredricksberg? | 16:01 |
srichter | Fredricksburg (Zope Corp headquaters) | 16:02 |
th1a | OK, 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 |
th1a | I'm still a little hazy about this preferences stuff, so I'd rather not dive into it immediately. | 16:04 |
srichter | th1a: 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 http://issues.schooltool.org/issue323 | 16:04 | |
srichter | th1a: 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 correctly | 16:05 |
th1a | srichter: 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 importing | 16:06 | |
* th1a will take credit for that idea. | 16:07 | |
srichter | ok, my first priority would be to finish creating separate packages for most stuff mingled into app.py right now and then merge SB into ST | 16:07 |
srichter | then we have a good basis to do the rest from there | 16:07 |
srichter | is that acceptable. tolerated, loved, hated, ...? :-) | 16:08 |
mgedmin | +1, I think | 16:08 |
mgedmin | 'merge' is a little vague | 16:09 |
srichter | well, basically merge schooltool and schoolbell | 16:09 |
mgedmin | that's reiterating the same thing | 16:09 |
srichter | in the fashion I outlined in the email about the package structure | 16:09 |
mgedmin | one way to understand 'merge' is use the same core objects and attach extra stuff with annotations | 16:09 |
mgedmin | I'm +1 for that | 16:09 |
srichter | ok | 16:10 |
srichter | cool | 16:10 |
mgedmin | another way is to merge SVN repositories so you have /trunk/schooltool/src/school{tool,bell} with no svn:externals | 16:10 |
mgedmin | I'm undecided for that, so -0.1 | 16:10 |
srichter | oh, I see; no that's not what I meant | 16:10 |
mgedmin | the third way is to understand that the top-level schoolbell package disappears and everything in it is merged into the top-leve schooltool package | 16:10 |
th1a | Sorry, I was distracted. | 16:11 |
mgedmin | I'm -0.9 for that | 16:11 |
srichter | why are you -0.9 for that? | 16:11 |
srichter | it makes no sense to keep a top-level schoolbell package around | 16:11 |
mgedmin | the fourth way is that schoolbell.relationship/calendar remain, but schoolbell.app disappears and is merged into the top-level schooltool package | 16:11 |
mgedmin | I'm +0.4 for this | 16:11 |
srichter | right, I would be OK with that as well | 16:11 |
mgedmin | re -0.9: it could be just sentimental reasons, thinking about continuity... | 16:12 |
srichter | but I think it still creates unnecessary overhead | 16:12 |
mgedmin | maybe you're right | 16:12 |
mgedmin | I'm mostly undecided about 2nd/3rd/4th interpretations; I'm decided about the 1st | 16:12 |
srichter | our project is called schooltool; so it is our container package | 16:12 |
srichter | everything after that are product releases | 16:13 |
mgedmin | IOW I'd like to postpone any merges (other than my 1st interpretation), so that I have more time to think it over | 16:13 |
srichter | and the set of distributed components should be determined using zpkgtools | 16:13 |
mgedmin | we sort of forgot one other goal | 16:13 |
mgedmin | schoolbell as the #1 choice for adding calendaring 3rd party Zope3-based applications | 16:13 |
srichter | right, this can be easily covered with a schoolbell release | 16:13 |
th1a | Yes, that is true. | 16:14 |
mgedmin | maybe, but I'd like to keep a certain degree of separation between reusable generic calendaring components and our concrete applications | 16:14 |
srichter | the 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 core | 16:14 |
th1a | Keeping 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 |
srichter | with a good setup it is as easy as running one script and upload the file | 16:15 |
th1a | bskahan: 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 |
th1a | SteveA sent me to http://serverpronto.com to pick something out. | 16:16 |
SteveA | basically, use the systems there as a guideline | 16:16 |
th1a | OK. | 16:17 |
SteveA | choose what disk / processor / memory you'll need. it will run ubuntu, even if serverpronto doesn't say that yet. | 16:17 |
bskahan | th1a: that's really exciting | 16:17 |
th1a | It will be a big help. | 16:17 |
bskahan | SteveA: thanks | 16:17 |
th1a | What do we need to comfortably run our Plone site and a SchoolTool demo? | 16:18 |
th1a | So we do have a number of particulars to hash out about how the SB/ST relationship will finally be resolved? | 16:18 |
bskahan | th1a: what we really need for that is some performance testing on schooltool ;) | 16:19 |
th1a | Well, what do we need for Plone? | 16:20 |
bskahan | eg. what happens when someone hits the demo site and tries to import a 10,000(,000) user CSV | 16:20 |
*** ignas has joined #schooltool | 16:21 | |
bskahan | th1a: probably the power plus | 16:22 |
bskahan | http://people.etria.com/~bskahan/section-index.png | 16:23 |
bskahan | hows that for the new section index? | 16:24 |
th1a | MUCH better. | 16:24 |
bskahan | cool | 16:25 |
th1a | Can 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 |
bskahan | i was afraid someone would say that | 16:26 |
bskahan | python:len(foo) is powerful tempting to use in tal | 16:27 |
bskahan | th1a: yes, its possible | 16:27 |
th1a | Well, it would be nice. | 16:28 |
bskahan | ;) | 16:28 |
bskahan | I need to find a good pattern for doing that, it comes up frequently | 16:30 |
* mgedmin working on http://issues.schooltool.org/issue341 | 16:32 | |
mgedmin | nice | 16:32 |
mgedmin | bskahan, ISized adapter might be cleaner, or it might be absolute overkill | 16:33 |
bskahan | for calculating the size of sections? | 16:34 |
mgedmin | for displaying the size of arbitrary containes | 16:35 |
mgedmin | for displaying the size of arbitrary containeRs | 16:35 |
*** jinty has quit IRC | 16:36 | |
* bskahan nods | 16:38 | |
bskahan | it probably should be, not sure why I didn't do that | 16:38 |
bskahan | th1a: getting commas to work correctly (e.g. no trailing comma) is non-trivial | 16:39 |
th1a | Ok. | 16:39 |
bskahan | do you prefer having a comma always, or no commas | 16:39 |
th1a | I guess none :-( | 16:40 |
bskahan | ok, for now I'll leave them out | 16:40 |
bskahan | I'll try to come up with a good way to do them right | 16:40 |
th1a | I've dealt with the same issue myself, so I know the pain. | 16:40 |
mgedmin | trailing 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 PT | 16:45 |
mgedmin | I fail to see where "non-trivial" comes into it | 16:45 |
bskahan | mgedmin: awesome | 16:45 |
mgedmin | you mean you didn't know? | 16:45 |
* mgedmin is astonished | 16:45 | |
bskahan | sadly, no | 16:46 |
bskahan | I knew how to do it in python | 16:46 |
bskahan | no in tal | 16:46 |
* bskahan is grumpy now | 16:46 | |
mgedmin | ah, ok | 16:46 |
mgedmin | the TAL thing is more complicated | 16:46 |
mgedmin | look up ITALESIterator some time | 16:46 |
mgedmin | repeat/$repeat_variable_name has some good stuff | 16:47 |
th1a | It isn't obvious how to do it in TAL. | 16:47 |
bskahan | mgedmin: thanks | 16:47 |
mgedmin | BTW it is repeat/foo/start, not repeat/foo/first | 16:47 |
mgedmin | I keep forgetting | 16:47 |
*** mgedmin has quit IRC | 16:53 | |
*** th1a has quit IRC | 16:53 | |
*** Aiste has quit IRC | 16:54 | |
*** admp has quit IRC | 17: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 #schooltool | 18:17 | |
*** Aiste has joined #schooltool | 18:17 | |
srichter | had a good lunch girl and guys? :-) | 18:17 |
th1a | Tasty. | 18:17 |
*** mgedmin has joined #schooltool | 18:18 | |
Aiste | srichter: yes, thank you :) | 18:19 |
srichter | is the baltic states food similar to Russian food (I guess not)? | 18:20 |
Aiste | you can get russian food here :) | 18:21 |
Aiste | and yes, in some respects it is similar | 18:21 |
srichter | I see | 18:21 |
Aiste | also Russian -- is a very big category | 18:21 |
srichter | of course | 18:21 |
srichter | my exposure is also very limited | 18:21 |
Aiste | :) | 18:21 |
th1a | I've enjoyed the food in the Baltics. | 18:21 |
th1a | I was much more scared to eat things when I was in St. Petersburg. | 18:22 |
srichter | the best I remember Solyanka, because we always got from the Russian military their machines to make for fests | 18:22 |
th1a | ? | 18:22 |
srichter | remember I grew up in East germany, so we had plenty of Russian bases around | 18:23 |
th1a | What is Solyanka? | 18:24 |
mgedmin | rauginti agurkai? | 18:24 |
srichter | I sour stew | 18:24 |
* mgedmin has no idea | 18:24 | |
srichter | looked red | 18:24 |
th1a | Ah. | 18:24 |
th1a | I wasn't sure if was food or a place. | 18:25 |
srichter | I see | 18:25 |
SteveA | Soylentgreen ? | 18:25 |
ignas | Solyanka is a kind of soup | 18:25 |
srichter | http://russian-crafts.com/recipes/solyanka.html | 18:26 |
SteveA | oh cool, it's one of those web sites where links are emboldened when you move the mouse over them... | 18:27 |
SteveA | which changes the width of the text, and moves other text around | 18:27 |
mgedmin | there's nothing as annoying as unclosed <a name="foo"> elements combined with a:hover { text-decoration: underline; } CSS rule | 18:30 |
mgedmin | uh, how do you spell zapi.absoluteURL? | 18:36 |
mgedmin | like I just did? | 18:36 |
srichter | I always have to check too, but I think it is zaop.absolute_url (which is a style breakage) | 18:37 |
srichter | mgedmin: mmh, the -1 option of the test runner does not seem to work all the time on doctests | 18:40 |
mgedmin | yes :( | 18:41 |
SteveA | how does it break style? | 18:41 |
srichter | because it says we use no underscores | 18:41 |
srichter | so zapi.absoluteURL | 18:42 |
mgedmin | srichter, I think it might be a bug in schooltool's test.py -- I think it works more often with Zope 3's test.py | 18:42 |
SteveA | srichter: we use no underscores for what? | 18:42 |
srichter | for API names, classes, methods, functions and attributes | 18:42 |
SteveA | i thought functions used underscores | 18:42 |
srichter | no | 18:42 |
mgedmin | I think PEP-8 suggests global functions use underscores | 18:43 |
mgedmin | Zope 3 doesn't | 18:43 |
SteveA | is that made explicit? | 18:43 |
SteveA | i'm sure i've used underscores in functions in zope3 in the past | 18:43 |
srichter | I am pretty sure it is, but I am not positive | 18:43 |
srichter | there are only a few cases | 18:44 |
SteveA | if so, i think it will be jim's smalltalk influence ;-) | 18:44 |
srichter | no, Jim did not want any style standards at all | 18:44 |
srichter | it was me who pushed this ;-) | 18:44 |
srichter | mgedmin: is there a way to use the Zope 3 test.py without much hassle? | 18:45 |
mgedmin | srichter, symlink src/school{tool,bell} into Zope3/src/ | 18:47 |
mgedmin | then run Zope3/test.py -s src/schooltool | 18:47 |
mgedmin | I don't know whether you can do that without symlinking | 18:47 |
srichter | ok, symlinks are fine | 18:48 |
mgedmin | srichter, eventually we started passing REPORT_ONLY_FIRST_FAILURE to DocTestSuite in all our test_foo.py modules explicitly | 18:48 |
srichter | I see, that works guaranteed? | 18:49 |
mgedmin | yes | 18:50 |
mgedmin | I think the problem is that when you do DocTestSuite(optionflags=ELLIPSIS) | 18:50 |
mgedmin | then DocTestSuite doesn't inherit the global REPORT_ONLY_FIRST_FAILURE setting | 18:50 |
mgedmin | somehow | 18:50 |
srichter | I see | 18:51 |
mgedmin | but if you don't specify optionflags at all, then it does inherit that setting | 18:51 |
mgedmin | I might be spewing nonsense here, BTW, I haven't really figured it all out | 18:51 |
mgedmin | Zope 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 it | 18:52 |
mgedmin | or maybe that was a different problem | 18:52 |
srichter | I remember that | 18:52 |
th1a | srichter: What do we really gain from a traversal mechanism for calendar? | 19:15 |
srichter | abstraction | 19:15 |
srichter | well, I accept MArius' arguments | 19:15 |
srichter | what we need is a way to dynamically extend traversers | 19:16 |
th1a | Why? | 19:16 |
srichter | currently, whenever you want something new to traverse from, you need to extend the existing adapter | 19:16 |
srichter | the current solution is not scalable to a development platform | 19:16 |
srichter | mgedmin: you know that traversal namespaces give us exactely the functionality we are looking for | 19:17 |
srichter | you basically add a new traversal step by name | 19:17 |
*** Aiste has quit IRC | 19:19 | |
th1a | I don't understand what you mean, srichter. | 19:20 |
srichter | basically, right now we have a traverser that understands persons/username/calendar | 19:20 |
th1a | OK. | 19:21 |
srichter | but if you want to also be able to traverse persons/username/preferences you need to modify the traverser | 19:21 |
srichter | imagine that the deisre to add preferences comes from third party code | 19:21 |
th1a | Where is the traverser? How do you modify it? | 19:21 |
srichter | it will be in schoolbell.app.person.browser.person | 19:22 |
srichter | You have to go to this file and manually edit it | 19:22 |
srichter | we really want a mechanism that allows us to add traversal steps using a directive | 19:23 |
th1a | Hrm... but right now we're just using the standard Zope 3 traverser? | 19:24 |
srichter | no, we already developed our own to allow traversals to calendar and so on | 19:25 |
th1a | Where is that now? | 19:25 |
srichter | soemhwere in schoolbell.app.browser | 19:25 |
srichter | probably schoolbell.app.browser.app | 19:26 |
th1a | OK. | 19:26 |
th1a | How long do you expect this traversal work to take? | 19:27 |
srichter | no idea, but it is not a hard problem | 19:29 |
srichter | 1.5 days | 19:29 |
th1a | OK. | 19:29 |
srichter | (mainly so much time because of the chane to the new code accross the code base) | 19:29 |
th1a | I 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 |
srichter | Marius agreed with me on that already yesterday | 19:31 |
srichter | just tell him it is about the flexible traversers | 19:31 |
th1a | OK. He seems to be deeply into something else at the moment... do you want to start this immediately or next week? | 19:32 |
srichter | next week | 19:32 |
srichter | I will need almost all of next week to do the repackaging | 19:32 |
srichter | and the rest of the week for the merger | 19:32 |
th1a | OK. I'll send mgedmin and alga a copy right now. | 19:33 |
* mgedmin wakes up | 19:33 | |
mgedmin | srichter, conceptually traversal namespaces solve a slightly different problem | 19:34 |
mgedmin | although practically it's the same functionality we need | 19:34 |
th1a | As long as we need it for something ;-) | 19:34 |
mgedmin | or would be, if we dropped the 'NO UGLY SIGILS IN URLS' requirement | 19:34 |
srichter | right, so I'll write a traverser for all components that does this sort of thing | 19:36 |
srichter | and we write one for containers that prefers container lookup before adapter lookup | 19:36 |
th1a | OK. I need to go see my wife now. | 19:36 |
srichter | this way it should work accross the board | 19:37 |
srichter | th1a: is my proposal pretty much approved? | 19:37 |
* mgedmin is still reading it | 19:37 | |
srichter | it is pretty much the package refactoring and merger part of your proposal | 19:38 |
mgedmin | I'm happy with most of it, but I do not want to commit on the "Merge the ``schoolbell`` package into ``schooltool``." part | 19:39 |
mgedmin | do you think you can finish everything including this merge before september 6? | 19:39 |
srichter | yes, I will put myself into overdrive :-) | 19:39 |
srichter | the repackaging work will make ther merger much sfaster | 19:40 |
mgedmin | I'm inclined to ignore my reservations and let you have a go at it... | 19:40 |
mgedmin | two more things | 19:40 |
mgedmin | - I'd like to see "full DB backwards compatibility" as an explicit goal/requirement | 19:41 |
mgedmin | (you already mentioned a generation script, but full compat might need more -- making classes importable from old locations etc) | 19:41 |
srichter | yeah, making them importable will be easier to implement to | 19:42 |
srichter | does ST have rules how long this stuff has to be around? | 19:42 |
mgedmin | maybe we did, once... | 19:43 |
mgedmin | I'd have to grep the mailing list | 19:43 |
mgedmin | I think release N has to support the DB structure of release N-1, but not necessarily N-2 | 19:43 |
mgedmin | but I'm not sure | 19:43 |
mgedmin | th1a will answer | 19:43 |
srichter | ok | 19:44 |
srichter | actually, since we only support data, it is not that hard | 19:44 |
mgedmin | obviously, full support of all previous releases would be Very Nice | 19:45 |
th1a | The branch we're starting has to be able to import from the release that is coming out next week (0.12) | 19:46 |
th1a | I mean 0.11. | 19:46 |
srichter | ok, I really hope that someone can provide me with a nice dataset :-) | 19:46 |
srichter | to test against | 19:46 |
* mgedmin wants that too ;) | 19:46 | |
srichter | even though I think I have it under control | 19:46 |
th1a | I'm not sure who has the best data sets at this point. | 19:47 |
mgedmin | <mgedmin> two more things | 19:47 |
mgedmin | second thing | 19:47 |
th1a | We all eed better ones. | 19:47 |
mgedmin | probably not that important | 19:47 |
mgedmin | - I'd be happy if the merge bit was easy to roll back, in case unexpected details crop up to bog it down | 19:47 |
mgedmin | let me also take a look at `overlaid_caledars` | 19:48 |
mgedmin | I don't remember why it is different in ST and SB | 19:48 |
srichter | that would be great! | 19:49 |
srichter | mgedmin: I am working on the refactor branch | 19:49 |
mgedmin | ah, the annotation objectlet has a different schema | 19:49 |
srichter | mgedmin: I keep working on the refactor branch | 19:49 |
mgedmin | how about using annotations there? | 19:49 |
mgedmin | what I'm suggesting is: | 19:50 |
mgedmin | - leave schoolbell.Person.overlaid_calendars as is -- do not move anything directly to view code | 19:50 |
mgedmin | - get rid of schooltool.Person class, OverlaidCalendarAndTT anything | 19:50 |
mgedmin | make CalendarOverlayInfo object annotatable | 19:50 |
th1a | OK, 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 subclass | 19:51 |
mgedmin | th1a, yes | 19:51 |
srichter | th1a: see ya | 19:51 |
th1a | OK. Have a nice weekend, guys. | 19:51 |
mgedmin | srichter, what do you think about my suggestion? | 19:51 |
*** th1a has quit IRC | 19:51 | |
srichter | you too | 19:51 |
srichter | mgedmin: it gets rid of ridiculous code, so I like it :-) | 19:51 |
mgedmin | yay! | 19:51 |
srichter | can you do this or at least send me an E-mail about this again, please. | 19:52 |
srichter | I 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 point | 19:53 |
mgedmin | ok for email | 19:53 |
* mgedmin doing that now | 19:53 | |
srichter | mgedmin: you still want me to make all the changes to the refactor branch right? | 19:53 |
mgedmin | yes | 19:53 |
srichter | ok | 19:53 |
mgedmin | holler if that is paintful for you | 19:53 |
srichter | it will be only painful during the merge | 19:54 |
srichter | :-) | 19:54 |
mgedmin | I intend to be the one doing the merge | 19:54 |
srichter | which you want to do :-) | 19:54 |
mgedmin | (poor me) | 19:54 |
srichter | sp you making your life harder :-) | 19:54 |
srichter | whee, the person package takes me a long time | 19:56 |
mgedmin | srichter, do you want a brief description about overlaid calendar data structures? | 19:57 |
srichter | yes, that would be good | 19:57 |
mgedmin | ok | 19:58 |
srichter | first of all what is its purpose? | 19:58 |
srichter | to show several calendars at once? | 19:58 |
mgedmin | yes | 19:58 |
mgedmin | people may want to see events from a bunch of calendars in a single view | 19:58 |
mgedmin | the selection of calendars you want to see is stored as a relationship | 19:59 |
mgedmin | our relationships framework lets you attach a single object to a relationship instance | 19:59 |
mgedmin | we attach CalendarOverlayInfo objects to the relationship that represents this calendar selection | 19:59 |
mgedmin | CalendarOverlayInfo remembers the calendar colors, visibility checkbox, etc. | 20:00 |
srichter | oh, I see | 20:00 |
mgedmin | in SchoolTool we needed one extra attribute -- checkbox for a timetable as well as the calendar | 20:00 |
mgedmin | so people went ahead with the subclassing etc | 20:00 |
srichter | so stephan is an attendant of Physics 1, Section A | 20:00 |
tvon | mgedmin: ignore my note to you on issue341 | 20:00 |
mgedmin | it is actually the same problem as extra 'timetables' attributes on persons/etc | 20:00 |
mgedmin | and the solution is the same -- adapters and annotations | 20:01 |
srichter | ok, got it | 20:01 |
mgedmin | tvon, I know the solutions to all the problems I mentioned in issue341; I now need to write tests and commit | 20:02 |
tvon | ah, okay | 20:02 |
tvon | mgedmin: what are you doing about the 'done' button? | 20:02 |
mgedmin | nothing | 20:02 |
* tvon nods | 20:02 | |
mgedmin | srichter, a tangential issue | 20:07 |
mgedmin | you once complained that having colours and stuff outside browser was wrong | 20:07 |
tvon | mgedmin: how do you feel about it basically beeing a css-pretified link that says 'back to {whatever} view' ? | 20:07 |
mgedmin | I have no objections if you move schoolbell.app.overlay module to schoolbell.app.browser.overlay | 20:08 |
mgedmin | and move Person.overlaid_calendars to an adapter -- IOverlaidCalendarList(person).overlaid_calendars or something | 20:08 |
srichter | ok, great! | 20:09 |
mgedmin | OTOH now we have both schoolbell.app.browser.overlay which deals with UI, and schoolbell.app.overlay which only deals with data storage | 20:09 |
* mgedmin pauses | 20:09 | |
srichter | I think about it | 20:09 |
mgedmin | no, I do have objections to moving it inside browser | 20:10 |
srichter | it is okay to have data in the browser package | 20:10 |
srichter | :-) | 20:10 |
mgedmin | no, I don't | 20:10 |
mgedmin | aaargh, I cannot make up my mind ;) | 20:10 |
mgedmin | it's like person properties | 20:10 |
mgedmin | data that does not correspond to something in the domain, but is used to tailor the presentation of domain objects | 20:11 |
* mgedmin goes back to coding | 20:11 | |
srichter | ok | 20:12 |
srichter | I will not work on it soon anyways | 20:12 |
*** ignas has quit IRC | 20:24 | |
*** mgedmin has quit IRC | 20:24 | |
*** ignas has joined #schooltool | 20:26 | |
*** mgedmin has joined #schooltool | 20:26 | |
* mgedmin unhappy with people who worked on MemberViewPersons | 20:31 | |
* mgedmin is one of them, shamefully | 20:32 | |
srichter | he he | 20: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 definition | 20: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 one | 20: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 IRC | 20:57 | |
mgedmin | /home/mg/src/schoolbell/Zope3/src/zope/tal/talinterpreter.py:598: DeprecationWarning: /home/mg/src/schoolbell/src/schoolbell/app/browser/templates/person-csvimport.pt (line 15): Automatic translation of message id's is deprecated and will be removed in 3.3. Use explicit i18n:translate="" instead. | 20:59 |
mgedmin | I thought all these were fixed already? | 20:59 |
srichter | mmh, they should | 20:59 |
srichter | maybe you forgot i18n:tanslate="" in that instance? | 21:00 |
mgedmin | not me | 21:01 |
mgedmin | I just ran the tests | 21:01 |
mgedmin | members_persons.html is barely functionally tested -- there's a single GET request in app.txt | 21:02 |
srichter | I think test coverage will be another area the package split will profit from | 21:06 |
srichter | it will be much easier to discuss coverage | 21:06 |
mgedmin | the single functional test for person CSV import tests a single failure case | 21:12 |
mgedmin | waah | 21:12 |
srichter | he he | 21:12 |
mgedmin | I think test coverage will profit from zope.testbrowser | 21:12 |
srichter | that too! | 21:12 |
srichter | I **love** testbrowser!!!! | 21:13 |
mgedmin | AHA! group CSV import causes the explicit i18n:translate warning | 21:16 |
mgedmin | I wish the warning told me the filename and line number | 21:16 |
srichter | yeah | 21:16 |
mgedmin | I'd be happy to work on this during some zope 3 bug day, btw | 21:18 |
srichter | cool | 21:18 |
srichter | so I guess we should organize another one | 21:18 |
srichter | I think second week in September would be good | 21: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 |
mgedmin | its 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 tests | 21:49 |
mgedmin | I'm going to commit the bugfix with no tests | 21:49 |
mgedmin | anyone against? | 21:49 |
srichter | ok ;-) | 21:50 |
srichter | though you really should not.... | 21:50 |
srichter | ok, the person package is pretty much ready to merge in | 21: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 |
srichter | wow, schoolbell just started on my machine in 1.6 seconds | 21: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 zope.app.person. 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 |
mgedmin | oops, I broke schooltool's unit tests for python2.3 | 22:00 |
mgedmin | our buildbot caught that! | 22:00 |
srichter | yipee | 22:00 |
mgedmin | only our buildbot's error messages got stuck in the moderation queue | 22:00 |
mgedmin | I wish I remembered mailman's password... | 22:00 |
srichter | he he | 22:01 |
mgedmin | got it -- but I can newer find the whitelist in mailman's horrible admin ui | 22:02 |
srichter | yeah, the UI is not that great | 22:03 |
srichter | uuuhhh, we need to make the ICalendarOwner thing also an adapter | 22: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 issue328 | 22:12 |
*** pcardune has joined #schooltool | 22:14 | |
pcardune | hello everyone | 22:15 |
srichter | hi | 22:15 |
pcardune | I'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 quickly | 22:16 |
pcardune | i.e. not having to enter data as you would through the browser | 22:16 |
mgedmin | there is | 22:17 |
mgedmin | root_folder = getRootFolder() | 22:17 |
mgedmin | traverse(root_folder, '/path/to/some/object') | 22:17 |
mgedmin | or just root_folder['path']['to'].some.['object'] | 22:17 |
pcardune | so getRootFolder is already in the namespace when you import the Browser testing object? | 22:18 |
mgedmin | don't forget to transaction.commit() afterwards! | 22:18 |
mgedmin | in functional doctests -- yes, I think it is | 22:18 |
pcardune | awesome, thanks | 22:18 |
mgedmin | good weekend, all | 22:21 |
mgedmin | tvon, bskahan: I had some comments to your latest checkins, please fix | 22:21 |
*** mgedmin has quit IRC | 22:21 | |
povbot | /svn/commits: * tvon committed revision 4694: | 22:29 |
povbot | /svn/commits: fix != -> is not | 22:29 |
srichter | time for me to go as well | 22:50 |
*** ignas has quit IRC | 22:56 | |
pcardune | bye | 22:56 |
tvon | srichter: where are you? | 22:57 |
tvon | in global terms | 22:58 |
*** alga has quit IRC | 23: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 #SchoolTool | 23:39 | |
*** bskahan has quit IRC | 23:41 | |
*** bskahan has joined #schooltool | 23:45 | |
*** alga has quit IRC | 23:50 | |
*** alga has joined #SchoolTool | 23:50 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!