povbot | /svn/commits: * gintas committed revision 4362: | 00:12 |
---|---|---|
povbot | /svn/commits: Made TimetableSchema REST view ordered deterministically. It used to break functional tests on Windows. | 00:12 |
povbot | /svn/commits: * gintas committed revision 4363: | 00:16 |
povbot | /svn/commits: Let us apply some cosmetic fixes. | 00:16 |
*** bskahan has quit IRC | 00:19 | |
th1a | srichter: ayt? | 01:01 |
srichter | th1a: yeah | 01:43 |
srichter | th1a: benji just put a snapshot of mechtests up online | 01:43 |
srichter | I will test it by using it for the ftests of the new stuff | 01:43 |
srichter | th1a: sorry, I was having dinner | 01:47 |
srichter | I am here now for the next couple hours | 01:47 |
*** bskahan has joined #schooltool | 01:51 | |
*** didymo has joined #schooltool | 02:03 | |
th1a | That's fine. | 02:07 |
th1a | I'm working on writing a game in Zope 3. | 02:07 |
th1a | This is my project to really learn the system. | 02:07 |
th1a | srichter: Here's my question. I've got an abstract class that implements an interface. | 02:08 |
th1a | If I create a subclass, do I have to explicitly state that it implements the same interface, or is that acquired? | 02:08 |
srichter | it is acquired | 02:08 |
th1a | OK. | 02:09 |
srichter | I think mechtest is awesome! | 02:09 |
th1a | Actually, "inherited" is probably the right term? | 02:09 |
srichter | I am trying to get it work in the schooltool setup now | 02:09 |
srichter | yes | 02:09 |
srichter | inherited is correct | 02:09 |
srichter | http://svn.zope.org/Sandbox/zc/mechtest/demo.txt?rev=37413&view=auto | 02:10 |
th1a | Ah. This is new Zope 3 technology? | 02:11 |
th1a | So that makes functional tests easier? | 02:11 |
srichter | yes and yes, much easier | 02:12 |
th1a | Nice. | 02:12 |
srichter | if you read the demo, you'll see that I can interact with it pretty much like a browser | 02:12 |
th1a | LIke the perl mechanize library. | 02:13 |
srichter | yes, it is a port pretty much | 02:14 |
srichter | th1a: this will add some dependencies; to save ourselves a lot of explaining, I would suggest putting the required libs into schooltool/src | 02:18 |
srichter | is that ok? | 02:18 |
th1a | You should ask mgedmin. | 02:18 |
th1a | Or alga. | 02:18 |
srichter | ok, will do that tomorrow | 02:18 |
th1a | I'm particularly clueless when it comes to the finer points of packaging and revision control. | 02:18 |
srichter | when are you leaving for LT? | 02:18 |
srichter | ok | 02:18 |
th1a | Next Tuesday. | 02:18 |
srichter | ok, so you can okay my delivery before then :-) | 02:20 |
th1a | Hopefully. I'll be playing baseball in New Jersey this weekend, so things are going to get a bit crazy. | 02:21 |
srichter | actually, I don't care when you check it as long as you acknowledge that I hit the deadline ;-) I'll make improvements any time | 02:22 |
srichter | :-) | 02:23 |
th1a | Sure. | 02:23 |
*** SteveA_ has quit IRC | 02:25 | |
*** bskahan has quit IRC | 02:39 | |
*** bskahan has joined #schooltool | 03:00 | |
*** tvon has left #schooltool | 03:06 | |
th1a | srichter: I'm trying to subclass SampleContainer and I'm getting this "object has no attribute '_SampleContainer__data" error. | 03:10 |
srichter | mmh, how does you initializer look like? | 03:15 |
srichter | it should be: | 03:15 |
srichter | def __init__(self): | 03:15 |
srichter | super(MyContainer, self).__init__() | 03:15 |
srichter | # my stuff | 03:15 |
th1a | Do I need to have a SiteManagerContainer here somewhere? | 03:15 |
srichter | or have no init at all | 03:15 |
srichter | no | 03:15 |
th1a | Literally 'super' or is that referring to something else? | 03:16 |
srichter | btw, it is probably easier to subclass BTreeContainer, if it can be persistent | 03:16 |
srichter | no, literally | 03:16 |
srichter | it will call the __init__ methods of its super classes | 03:16 |
*** tvon has joined #schooltool | 03:19 | |
th1a | OK, I did find/replace for BTreeContainer. | 03:20 |
th1a | Do I need this still: | 03:20 |
th1a | def _newContainerData(self): | 03:21 |
th1a | return PersistentDict() | 03:21 |
th1a | If I ever needed it. | 03:21 |
th1a | srichter: It appears to be working. | 03:35 |
srichter | no | 03:37 |
srichter | btree container provides this :-) | 03:37 |
th1a | And for a class that's subclassing BTreeContainer directly, I don't need the 'super' line? | 03:37 |
srichter | eek, ST has not valid HTML: | 03:38 |
srichter | <title> | 03:38 |
srichter | SchoolBell : | 03:38 |
srichter | <title>Level index</title> | 03:38 |
srichter | </title> | 03:38 |
srichter | this causes mechanize to crash | 03:38 |
tvon | srichter: what page? | 03:38 |
srichter | th1a: only, if you have your own __init__ | 03:38 |
srichter | happens whenever you have: | 03:39 |
srichter | <metal:slot fill-slot="title"> | 03:39 |
srichter | <span tal:replace="context/title">Level X</span> | 03:39 |
srichter | </metal:slot> | 03:39 |
th1a | So this is right: | 03:39 |
th1a | class Space(BTreeContainer): | 03:39 |
th1a | """This is the abstract class for a space on the map.""" | 03:39 |
th1a | 03:39 | |
th1a | implements(ISpace, IAttributeAnnotatable, ISpaceContained) | 03:39 |
th1a | 03:39 | |
th1a | def __init__(self, description, location, title=""): | 03:39 |
th1a | super(Space, self).__init__() | 03:39 |
th1a | self.description = description | 03:39 |
th1a | self.location = location | 03:39 |
th1a | self.title = title | 03:39 |
srichter | yes | 03:40 |
th1a | Thanks. I think I'm getting somewhere now. | 03:42 |
srichter | cool | 03:42 |
srichter | btw, I don't understand why we get the double title tag | 03:44 |
srichter | in some screens it works | 03:45 |
*** bskahan has quit IRC | 03:45 | |
tvon | The screens that I've changed work | 03:47 |
srichter | yeah, it seems to depend on how the fill slot is called | 03:47 |
srichter | I switched the level container to the standard container.pt and it works fine | 03:48 |
tvon | the <title> tag is in the main page macro, so when it is called it has to be in a tal:replace... previously each page handled the whole title | 03:48 |
srichter | I see | 03:48 |
srichter | anyways, I am happy with using the default container view | 03:48 |
tvon | It's all for the sake of getting the application title into the page title | 03:49 |
srichter | right | 03:50 |
tvon | Is there a good way to carry a request value through a page update? | 03:51 |
tvon | a persistant request variable I suppose | 03:52 |
srichter | well, you can use sessions | 03:53 |
srichter | that's what they are for | 03:53 |
srichter | and you can use ?var=value | 03:53 |
srichter | at the end of the URL | 03:53 |
tvon | ah, thats probably the easiest route | 03:54 |
srichter | I am in ftest paradise with mechanize :-) | 03:54 |
tvon | it must be nice if you can put 'ftest' and 'paradise' together | 03:55 |
srichter | yes :-) | 03:55 |
srichter | tvon: this passes: | 03:57 |
srichter | >>> from zc.mechtest.testing import Browser | 03:57 |
srichter | >>> browser = Browser() | 03:57 |
srichter | >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw') | 03:57 |
srichter | >>> browser.open('http://localhost/test/levels') | 03:57 |
srichter | Level Management | 03:57 |
srichter | ---------------- | 03:58 |
srichter | First we create a couple of levels. | 03:58 |
srichter | >>> browser.click('New Level') | 03:58 |
srichter | >>> browser.controls['field.title'] = u'1st Grade' | 03:58 |
srichter | >>> browser.controls['field.isInitial'] = True | 03:58 |
srichter | >>> browser.controls['add_input_name'] = u'level1' | 03:58 |
srichter | >>> browser.click('Add') | 03:58 |
tvon | oh thats cool | 03:58 |
srichter | yeah, very very cool | 03:58 |
srichter | I think we should mandate mechanize-based ftests from now on :-) | 04:01 |
tvon | hell yeah | 04:01 |
srichter | now, if we could get recording sessions converted to this format, it would be beyond cool :-) | 04:02 |
srichter | it's finally fun to write ftests | 04:05 |
th1a | paul will be pleased. | 04:06 |
srichter | why? | 04:07 |
th1a | He didn't like doing ftests. | 04:07 |
srichter | well, not many people did :-) | 04:07 |
th1a | pcardune | 04:07 |
srichter | th1a: you can't even imagine what a productivity increase this is | 04:08 |
th1a | Having *legible* tests for an application like this will probably eventually be a big selling point as well. | 04:08 |
srichter | I'll send you the ftest README.txt in the morning for you to look at | 04:09 |
srichter | maybe I will send it to the list, so everyone will see it | 04:09 |
th1a | Send it to the list. | 04:09 |
*** bskahan has joined #schooltool | 04:10 | |
srichter | btw, those type of tests also show nicely the usability of the UI | 04:11 |
srichter | the fewer "click()" calls, the better | 04:12 |
th1a | srichter: can I get the standard Zope 3 test runner to be more verbose than it is with -vpu ? | 04:45 |
th1a | OK. I found the docs. | 04:46 |
povbot | /svn/commits: * bskahan committed revision 4364: | 05:20 |
povbot | /svn/commits: fix for issue287, student membership in a section via a form wasn't visible in the student schedule view. | 05:20 |
povbot | /svn/commits: Now we display the section they are in and the group that's part of. Turn off the selection for that period so they will have to be removed from the group or the group will have to be removed from the section to prevent schedule conflicts. | 05:20 |
*** bskahan has quit IRC | 05:25 | |
srichter | th1a: what game are you working on? | 06:16 |
th1a | It is a version of an obscure little wargame I have: Alexander at Tyre - http://ourworld.compuserve.com/homepages/Thunderhaven/alexande.htm | 06:17 |
srichter | ...checking it out | 06:17 |
th1a | I'm trying to do a mainly textual version of the boardgame. | 06:18 |
th1a | Kind of like a combination of a wargame and an old Infocom text adventure. | 06:18 |
th1a | Whether or not it will work, I don't know, but I don't want to do graphics. | 06:18 |
srichter | cool | 06:19 |
srichter | sounds good | 06:19 |
th1a | It actually seems to be making sense. | 06:19 |
srichter | I got so hyped by mechanize today, that I have to write some more tests after bringing my wife to bed ;-) | 06:19 |
srichter | great | 06:19 |
th1a | The spaces on the map are connected by paths which I can represent with schoolbell.relationship | 06:20 |
srichter | yes | 06:20 |
th1a | There's lots of interesting containment issues, too. | 06:20 |
srichter | let me know, if you need advice | 06:21 |
th1a | I shall. Thanks. | 06:21 |
povbot | /svn/commits: * tvon committed revision 4365: | 09:35 |
povbot | /svn/commits: Easy access to the batch number in the set. | 09:36 |
*** didymo has quit IRC | 11:10 | |
*** Aiste has joined #schooltool | 12:01 | |
*** povbot has joined #schooltool | 12:24 | |
*** thisfred has joined #schooltool | 12:56 | |
*** mgedmin has joined #schooltool | 13:09 | |
*** jinty has joined #schooltool | 13:22 | |
*** gintas has joined #schooltool | 13:27 | |
tvon | mgedmin: Is there a way to get to the schoolbell view_macros from schooltool? | 13:36 |
tvon | nevermind, have an alternative | 13:36 |
povbot | /svn/commits: * tvon committed revision 4366: | 13:43 |
povbot | /svn/commits: Batch navigation macro and zcml to go with it. | 13:43 |
mgedmin | uhh, for a second there I thought you wrote "botch", not "batch" :-) | 13:45 |
tvon | hah | 13:45 |
tvon | mgedmin: I have a question about 'modules' in tal | 13:53 |
mgedmin | ok | 13:54 |
tvon | I had been importing schoolbell.batching into browser/app.py, at which point using 'modules' to get to batching in the zpt worked, however when I remove that import I get errors | 13:54 |
tvon | does something need to be available to a view class (eg, in the .py the class is defined in) to be available in the pt for that view? | 13:55 |
mgedmin | please do not use modules in zpt | 13:55 |
tvon | ah | 13:55 |
mgedmin | what exactly do you want to be able to do? | 13:55 |
tvon | create a schoolbell.batching.Batch object, but if modules are a no-no I can add a 'newBatch()' method to the view or something | 13:56 |
mgedmin | what would you do with that Batch object? | 13:57 |
mgedmin | do you pass a list of values to it? | 13:57 |
tvon | yes | 13:57 |
mgedmin | any extra arguments? | 13:57 |
mgedmin | could you show an example of an expression in a page template? | 13:58 |
tvon | schoolbell.batching.Batch(some_list, start_point, batch_size) | 13:58 |
mgedmin | ah, ok | 13:58 |
tvon | how the batch is used? | 13:58 |
mgedmin | how about this then | 13:58 |
gintas | tvon, where can I find the latest Etria's proposal? | 13:58 |
tvon | gintas: this past contract? | 13:59 |
gintas | I want to have a quick look at the batching part before I say some nonsense | 13:59 |
tvon | heh | 13:59 |
* mgedmin tries to think of a nice syntax | 14:00 | |
mgedmin | maybe something like | 14:00 |
mgedmin | tal:define="my_batch view/return_a_list_of_things/sortby:name/batch:foo" | 14:00 |
tvon | gintas: the story is here: http://pastebin.com/320963 | 14:00 |
mgedmin | 'batch:' would be a TALES path adapter | 14:01 |
mgedmin | 'foo' would be the name of the batch | 14:01 |
tvon | how would I deal with start point and batch size? | 14:01 |
gintas | tvon, thanks | 14:01 |
mgedmin | request.form['foo.start'] and request.form['foo.size'] would define the range | 14:01 |
tvon | (I *was* about to commit the group membershis view with batching) | 14:01 |
mgedmin | defaulting to 0 and 20 | 14:01 |
tvon | heh | 14:01 |
mgedmin | from where do you usually get the start/size of the batch? | 14:02 |
tvon | request | 14:02 |
mgedmin | well then | 14:02 |
mgedmin | you can look at our sortby: path adapter as an example | 14:02 |
mgedmin | class SortBy in schoolbell.app.browser.__init__ | 14:03 |
tvon | mgedmin: btw, you can see how it is used in the commit I just made | 14:04 |
tvon | has the batch navigation macro which generates the 'previous 1 2 3 4 5 next' bar | 14:04 |
* tvon looks at sortby | 14:04 | |
mgedmin | it's a bit hairy because it tries to figure out whether an iterator returns dicts or regular objects | 14:06 |
mgedmin | but the framework should be clear | 14:06 |
mgedmin | you register a named adapter providing IPathAdapter | 14:06 |
mgedmin | you call it with some_expr/adapter:name/further/path | 14:06 |
mgedmin | the adapter gets created with some_expr as its context | 14:07 |
mgedmin | then its traverse method gets called with 'name' and ['further', 'path'] | 14:07 |
tvon | can arbitrary data be definedin further path? | 14:07 |
tvon | ah | 14:07 |
mgedmin | IIRC you can process and remove things from further_path | 14:07 |
mgedmin | so maybe you could define start and limit with | 14:07 |
mgedmin | list/batch:?start_point/?limit | 14:08 |
mgedmin | uhh, I don't remember the exact syntax | 14:08 |
mgedmin | what do you do in TALES path expressions when you want to traverse to a name stored in a variable? | 14:08 |
gintas | tvon, can you explain why the story excludes batching for container indexes? | 14:08 |
tvon | gintas: I really don't know, I think they should have them | 14:09 |
tvon | er, they should have batching | 14:09 |
gintas | what if someone comes around and clicks on the 'Persons' menu item and gets a 10000 item list? | 14:09 |
* tvon didn't write the story | 14:09 | |
tvon | maybe bskahan did | 14:10 |
gintas | this could kill the server if several such giant requests start being processed | 14:10 |
tvon | mgedmin: I'm going to add the newBatch method in the view for the time being, unless you are strongly against it | 14:13 |
tvon | Id' prefer the adapter but since I've already screwed up the release schedule I feel compelled to commit what I have now | 14:13 |
tvon | well, I guess if the release is already pushed back I might as well give it a try | 14:14 |
* mgedmin kicks himself | 14:15 | |
mgedmin | duh! | 14:15 |
tvon | ? | 14:15 |
mgedmin | why does the page template need to create batches? | 14:15 |
mgedmin | it doesn't! | 14:15 |
mgedmin | just have view methods that return Batch objects | 14:15 |
mgedmin | that's simple and clean | 14:15 |
srichter | yes | 14:15 |
tvon | ah, so a BatchViewMixin with a newbatch method would be fine? | 14:15 |
jinty | gintas: I am still travelling and will only be back around the 5th Aug. I think the relase is still yours. | 14:16 |
srichter | note that I had already developed batching for the bugtracker | 14:16 |
mgedmin | tvon, yagni | 14:16 |
mgedmin | view module imports your Batch object | 14:16 |
mgedmin | then a view method returns Batch(some_list, start, limit) | 14:17 |
mgedmin | srichter, I just noticed it | 14:17 |
mgedmin | why is it in the bugtracker rather than outside it? | 14:17 |
mgedmin | it makes other people wary of using it | 14:18 |
srichter | because somebody put it there | 14:18 |
srichter | I had it outside | 14:18 |
srichter | but it was not used anywhere else, so someone moved it back in :-( | 14:18 |
mgedmin | waah | 14:18 |
srichter | I know :-( | 14:18 |
tvon | we were going to use it (bskahan found it in some CVS attic) but we didnt know who wrote it and I figured batching was simple enough to just write myself instead of tangling with external code | 14:18 |
srichter | if you wanna use it, I think we have a second user, so we can move it out | 14:19 |
tvon | I'd rather not at this point since I'm pretty much done with writing it | 14:19 |
* tvon peeks | 14:20 | |
tvon | Zope3/src/bugtracker/batching/ ? | 14:20 |
srichter | I think so :-) | 14:20 |
srichter | yeah | 14:21 |
mgedmin | tvon, didn't you look for batching in Zope 3 before you started writing your own? | 14:21 |
tvon | mgedmin: I knew of its existance in bugtracker, but we would have to move it into our tree to use it and when I ran that by Tom it came down to 'who wrote it, will they grant us license, etc' | 14:22 |
tvon | I would have preferred it, but when those questions came up I figured it was simple enough to do myself | 14:22 |
* tvon notes they are very similar | 14:23 | |
mgedmin | tvon, are their interfaces compatible? | 14:24 |
mgedmin | would it be simple to switch from one to the other in the future? | 14:24 |
tvon | looks like a matter of a few method names being different... and I have a few more methods in mine | 14:25 |
tvon | I like mine better :) | 14:25 |
* tvon looks at IItemMapping | 14:27 | |
srichter | mgedmin: I really would like us to use mechanize and mechtest for ftesting; how would I best incorporate them into ST? | 14:28 |
tvon | mgedmin: back to getting a batch object out of the view. You lostme up there with your explanation | 14:31 |
mgedmin | srichter, I am not familiar with mechanize | 14:32 |
mgedmin | I know it is a Python module that emulates a browser | 14:32 |
mgedmin | but that's about it | 14:32 |
srichter | I'll send some test TXT later this morning | 14:32 |
tvon | the tests you mentioned yesterday were sick | 14:32 |
tvon | as in 'very cool' | 14:32 |
srichter | yeah, and mechtest is an extension by benji to use them in functional tests | 14:32 |
* tvon ponders etymology and slang | 14:33 | |
srichter | Let me send to the list what I have so far | 14:33 |
* mgedmin looks at irc logs | 14:33 | |
*** alga has joined #SchoolTool | 14:34 | |
jinty | srichter: from my point of view it is much better not to include outside code, but it is a very thorny problem. | 14:35 |
mgedmin | mechanized tests look kind of cool | 14:36 |
mgedmin | do they have xpath? | 14:36 |
srichter | I don't think so, but you do not need to | 14:36 |
mgedmin | srichter, is it possible to include it in Zope 3? | 14:36 |
srichter | since it has very high-level controls | 14:36 |
srichter | we eventually will | 14:36 |
srichter | I try to push benji is this direction today | 14:36 |
* jinty starts to mutter under his breath about Zope 3 including docutils and pytz and the problems it causes packaging | 14:38 | |
srichter | jinty: you can always use zpkgtools to exclude those packages, if you are on a different packaging scheme | 14:39 |
srichter | we have them there for convenience | 14:39 |
jinty | I tried to install zope without pytz from the zope tarball, but didn't get very far | 14:40 |
srichter | mgedmin: i sent a mail to schooltool-dev with my readme | 14:40 |
*** gintas has quit IRC | 14:40 | |
srichter | jinty: well, of course you need to have pytz somehwere in your Python path | 14:41 |
jinty | indeed, but there is a python-tz debian package for that | 14:41 |
jinty | this is an example of a classic conflict between Packagers for distributions and free software projects | 14:43 |
srichter | and that version of python-tz did not work with Zope 3? | 14:44 |
* jinty is thinking the best way to explain | 14:46 | |
*** pcardune has joined #schooltool | 14:49 | |
jinty | 1. zope includes docutils, debian installs zope without docutils and depends on the python-docutils package. They are completely different versions => things start to break. | 14:49 |
*** SteveA has joined #schooltool | 14:50 | |
srichter | of course | 14:50 |
jinty | 2. debian could use the included docutils, but then would end up with as many copies of docutils as there are end user applications. | 14:50 |
srichter | so Debian should have a python-docutils that is compatible with ours | 14:50 |
*** gintas has joined #schooltool | 14:51 | |
jinty | yes, and with all other users of docutils | 14:51 |
srichter | the problem of multiple versions has been addressed many times | 14:51 |
srichter | Mandrake comes with 3-4 versions of automake for example | 14:51 |
srichter | developers cannot just adjust required versions of packages based on every distros desires | 14:52 |
srichter | so in this case I would think it is much safer that Zoep 3 ships with its own docutils | 14:52 |
srichter | since it is local to Zope 3 | 14:53 |
srichter | and another version of docutils exists for the rest of the Python installation | 14:53 |
jinty | but the complexity of managing different versions of everything is prohibitive | 14:53 |
jinty | if you have 5 different versions of the same code, all spread around in multiple packages. A security support become insane. | 14:55 |
jinty | because you have to find all packages containing the affected code and provide a patched version. | 14:56 |
srichter | well, you only have to support z.y.x with x being always the highest available; maybe even only y being the highest available | 14:56 |
srichter | well, I think that's ok; the user asked for it | 14:57 |
srichter | btw, we are trying to stay as much uptodate with docutils as possible | 14:57 |
jinty | that helps a lot. then we can be more sure things work when we replace it | 14:58 |
jinty | thanks | 14:58 |
srichter | yeah, it would be good for you to check from time to time and send a reminder to the zope3-dev mailing list, if we need to update | 14:59 |
jinty | sure, np | 15:01 |
*** bskahan has joined #schooltool | 15:13 | |
bskahan | gintas: reason for excluding batching for container indexes was because the container indexes seem like bad UI. To move away from having these huge lists of objects towards having useful tasks and manageable sets of data appropriate to that task, in retrospect the containers should have batching just for performance but I was thinking about it more in terms of usability | 15:20 |
tvon | mgedmin: on batching in browser views, are you saying I should just add a method to each view to create a batch (as opposed to using a mixin to do the same)? | 15:31 |
mgedmin | I assume that your views will want to create batches differently | 15:31 |
mgedmin | won't they? | 15:32 |
srichter | most won't | 15:32 |
srichter | because they are simple containers | 15:32 |
srichter | no? | 15:32 |
mgedmin | maybe | 15:32 |
srichter | but I would do it with helper functions | 15:33 |
mgedmin | my point: -1 for exporting a generic newBatch method that has to be used with "python:view.newBatch(some_list, start, limit)" | 15:33 |
srichter | and currently we are using the same view (pretty much) for all simple containers | 15:33 |
srichter | so it is one implementation | 15:33 |
mgedmin | +1 for view functions that return batches ready to be iterated over | 15:33 |
srichter | yes | 15:33 |
mgedmin | +1 for mixins if the method would be identical and repeated in a number of different view classes | 15:33 |
srichter | absolutely | 15:33 |
tvon | all the data for creating the batch is passed from the tal anyways, so the method is basically just creates an object withthe arguments passed | 15:34 |
srichter | no python in PTs | 15:34 |
mgedmin | tvon, -1 | 15:34 |
tvon | hrm | 15:34 |
mgedmin | data should flow from python to tal, not the other way around | 15:34 |
srichter | correct | 15:35 |
srichter | I am pretty sure the bugtracker does this nicely | 15:35 |
srichter | (including filtering) | 15:35 |
tvon | okay, I have a plan of attack now | 15:38 |
tvon | well since it isn't going in yet.. something to chew on: http://office.etria.com:7080/groups/the-idiots/@@members_persons.html | 15:49 |
tvon | (if you can get there) | 15:49 |
tvon | I'm aware of some problems and imperfections in the page, but input on the UI/feel/behavior is welcome | 15:50 |
* tvon goes afk | 15:50 | |
srichter | got there | 15:50 |
*** matiasV has joined #schooltool | 15:58 | |
*** bskahan has quit IRC | 16:02 | |
mgedmin | tvon, nice UI! | 16:05 |
*** erchache has joined #schooltool | 16:11 | |
erchache | hi | 16:11 |
erchache | i see on mail schoolbell 1.2 are released....when i can download? | 16:11 |
*** matiasV has quit IRC | 16:19 | |
povbot | /svn/commits: * gintas committed revision 4367: | 16:19 |
*** matiasV has joined #schooltool | 16:19 | |
povbot | /svn/commits: Removed an apparently outdated TODO comment. | 16:19 |
*** erchache is now known as erchache_away | 16:51 | |
*** bskahan has joined #schooltool | 16:52 | |
*** bska|mobile has joined #schooltool | 17:03 | |
srichter | mgedmin: mechtest will be put into Zope 3 trunk tonight | 17:04 |
srichter | btw, is the branch for the release already cut? | 17:04 |
gintas | srichter, not yet | 17:05 |
gintas | mgedmin is away for lunch | 17:05 |
gintas | I'm not sure if I'm supposed to branch today or wait for tvon (I suppose the latter) | 17:05 |
th1a | srichter: did you get the email I sent to schooltool? | 17:05 |
th1a | I'm afraid we're pushing the branch back a week :-( | 17:06 |
srichter | ok | 17:06 |
gintas | srichter, just use a branch already ;) | 17:06 |
th1a | That seems like the thing to do at this point. | 17:06 |
srichter | I have to now | 17:06 |
srichter | but I just hate it :-) | 17:07 |
*** bskahan has quit IRC | 17:08 | |
th1a | gintas: If jinty is back in time for the rc and he wants to do it with your help, I'd imagine we'll let him :-) Hopefully he'll be able to oversee the final at least. Assuming he's able to get out of Berlin. | 17:09 |
srichter | is there a good example on how to write a REST interface for adapters of a content object? | 17:13 |
*** alga has quit IRC | 17:19 | |
povbot | /svn/commits: * gintas committed revision 4368: | 17:19 |
povbot | /svn/commits: Cosmetic fixes. | 17:19 |
bska|mobile | th1a: the school calendar should be visible to anonymous users and writable by manager initially, correct? | 17:19 |
th1a | bska|mobile: That sounds right. | 17:20 |
bska|mobile | thanks | 17:21 |
*** pcardune has quit IRC | 17:29 | |
srichter | gintas: is there a nice object somewhere, where a REST interface for adapters is provided? | 17:34 |
gintas | srichter, it's been quite a while since I did anything with REST | 17:34 |
bska|mobile | srichter: personphoto in schoolbell/app/rest/ | 17:34 |
srichter | thanks | 17:35 |
bska|mobile | np | 17:35 |
srichter | is it still a requirement that everything must be doable with REST? | 17:35 |
bska|mobile | I think that's the goal | 17:36 |
bska|mobile | can you have viewCalendar access to something without having 'view' access? | 17:39 |
bska|mobile | no | 17:41 |
*** erchache_away is now known as erchache | 18:00 | |
erchache | i see on mail schoolbell 1.2 are released....when i can download? | 18:01 |
bska|mobile | erchache: the RC is delayed until next week unfortunately | 18:02 |
erchache | why? | 18:03 |
th1a | Because it isn't done. | 18:04 |
povbot | /svn/commits: * gintas committed revision 4369: | 18:04 |
povbot | /svn/commits: Cosmetic fixes. | 18:04 |
povbot | /svn/commits: * gintas committed revision 4370: | 18:05 |
bska|mobile | th1a: how do you feel about the school timetable templates being public? | 18:05 |
povbot | /svn/commits: Moved DailyCalendarView.calendarRows into a separate component to make it easier to override in SchoolTool. | 18:05 |
erchache | well | 18:06 |
th1a | bska|mobile: I can't imagine that it is a problem, even among paranoid Americans. | 18:06 |
th1a | If it is, we'll change it later. | 18:06 |
bska|mobile | many school websites have the bell schedule, so I figured it would be ok | 18:06 |
th1a | If someone can go online and see when school is out, they'll be able to STEAL MY CHILDREN. | 18:07 |
povbot | /svn/commits: * gintas committed revision 4371: | 18:07 |
povbot | /svn/commits: Turned DailyCalendarView into a component to facilitate the recent refactoring in SchoolBell. The clone of cal_daily.pt in SchoolTool can finally be removed, which is a very good thing (it was already starting to diverge from the original version). | 18:07 |
th1a | Thanks for the cleanup, gintas. | 18:08 |
bska|mobile | I'm going to make terms public as well | 18:08 |
th1a | Fine. | 18:09 |
* mgedmin just back from lunch | 18:09 | |
bska|mobile | not going to push it for now, but probably just person/groups/resources/sections should be restricted | 18:10 |
bska|mobile | some time in the future | 18:10 |
bska|mobile | leaving, courses, terms, timetables, and ttschemas public | 18:10 |
povbot | /svn/commits: * gintas committed revision 4372: | 18:12 |
povbot | /svn/commits: Removed DailyCalendarView.rowspan, which was not used anywhere. | 18:12 |
th1a | bskahan: Sounds good. | 18:13 |
*** alga has joined #SchoolTool | 18:17 | |
*** pcardune has joined #schooltool | 18:24 | |
pcardune | do you guys use anything like voip for long distance communication? | 18:24 |
mgedmin | no (or maybe "not yet") | 18:25 |
erchache | th1a: how i can create a user with same perms that manager for all site? | 18:25 |
srichter | I don't; with a phone card I can get $0.01 per minute from the US to Germany | 18:25 |
erchache | pcardune: use skype | 18:26 |
srichter | skype crashed my sound driver on linux | 18:26 |
srichter | back to ST | 18:26 |
srichter | mgedmin: th1a: how should I model the workflow stuff with the REST interface? | 18:27 |
srichter | in order for it to be useful, I need to find a way to finish workitems by providing the finish data | 18:28 |
mgedmin | skype is a proprietary closed protocol | 18:28 |
mgedmin | only evil people use skype | 18:28 |
* mgedmin hides | 18:28 | |
srichter | I am quite lost on how to attack this | 18:28 |
erchache | mgedmin: sure? | 18:28 |
erchache | i dont know that? :O | 18:29 |
erchache | mgedmin: what other talk product you recomend me instead skype? | 18:30 |
erchache | th1a: how i can create a user with same perms that manager for all site? | 18:30 |
pcardune | (we are using skype, but it keeps crashing my compatriot's router) | 18:30 |
erchache | how i can create a user with same perms that manager for all site? | 18:30 |
srichter | I guess I could have persons/me/workitems/itemx/ and do a post on that? | 18:30 |
mgedmin | srichter, I'd help, but I'm not sure what you can do via the web | 18:30 |
mgedmin | erchache, none that I tried worked ;) | 18:31 |
erchache | fuck | 18:31 |
erchache | ey....permisions doesn work properly | 18:32 |
erchache | i need to set it manually for each object | 18:32 |
erchache | how i can set for all? | 18:32 |
bska|mobile | erchache: in the current stable release there isn't a way to create a new manager, there will be in the upcoming release though | 18:33 |
mgedmin | erchache, set it on root | 18:34 |
mgedmin | permission grants are inherited | 18:34 |
erchache | on root? | 18:34 |
mgedmin | / | 18:34 |
erchache | root is first page of schoolbell no? | 18:34 |
mgedmin | yes | 18:34 |
erchache | ok | 18:35 |
erchache | i will try it | 18:35 |
th1a | erchache: Now that I'm out of the shower... I don't think it can be done in the current version. | 18:41 |
th1a | bska|mobile: Is that going to be in the upcoming release? | 18:41 |
*** alga has quit IRC | 18:41 | |
th1a | I mean, manager still has some magic powers that you can't assign via the acl settings, right? | 18:42 |
th1a | srichter: Reading your question... | 18:44 |
mgedmin | th1a, yes, but no one should need those powers | 18:45 |
mgedmin | ++etc++site springs into mind | 18:45 |
th1a | pcardune: I'm on Skype. Are you? | 18:45 |
th1a | I suppose that's probably not what erchache is concerned with. | 18:46 |
pcardune | th1a, yes | 18:47 |
pcardune | username: pcardune | 18:47 |
*** FarcePest has joined #schooltool | 18:48 | |
th1a | srichter: So are you trying to do the REST interface for moving someone to a new level? | 18:48 |
srichter | well, we need it generically, but I have figured it out, I think | 18:48 |
srichter | I can just do: | 18:48 |
srichter | POST persons/studentX/academicProcess/workitemId | 18:49 |
*** th1a has quit IRC | 18:49 | |
srichter | and put the values I need in there | 18:49 |
erchache | well | 18:50 |
erchache | i know how permission runs now | 18:50 |
erchache | i was talking with a teacher.... | 18:50 |
erchache | and says the first page for non logged users its too clean....need more information about services and permisions | 18:51 |
erchache | other question is to register all pupils of a school to see personalize timetables | 18:52 |
*** th1a has joined #schooltool | 18:54 | |
th1a | mgedmin is right. Skype is evil. It just tried to kill my computer. | 18:54 |
pcardune | th1a, i assume you are running some flavor of linux? | 18:56 |
th1a | srichter: is 'academicProcess' a container? | 18:56 |
th1a | pcardune: Actually, Mac OS X. | 18:57 |
srichter | a virtual container | 18:57 |
th1a | It is funny, because I was using it this morning to talk to someone in the UK (or maybe they were in SA). | 18:57 |
srichter | that contains the current work items | 18:57 |
erchache | mac os x too :P | 18:58 |
th1a | Perhaps call it "promotion"? | 18:58 |
srichter | ok | 18:59 |
srichter | actually for now we can have only one work item anyways, so I do not even need that container | 18:59 |
th1a | OK. | 18:59 |
th1a | scardune: Actually, let me try it one more time. I might have broken it by yanking out my usb speakers while we were connected. | 19:01 |
erchache | on 193.147.167.251:7080 are my server | 19:01 |
erchache | we are on testing now | 19:01 |
erchache | and on 15 september wants to do productable | 19:01 |
th1a | erchache: That still gives us some time between the next release and your deployment. | 19:05 |
th1a | You could start testing the development version for the next week. | 19:05 |
th1a | Check it out of svn. | 19:05 |
erchache | ok dont worry | 19:05 |
*** pcardune has left #schooltool | 19:05 | |
erchache | but i have holidays for 1 to 28 of august | 19:06 |
erchache | has any problem to update from 1.1.1 to 1.2? i refer to data.fs.... | 19:06 |
th1a | You Europeans have it rough. | 19:06 |
erchache | uhmm....you cant understand my spanglish? :D | 19:07 |
mgedmin | erchache, in theory there should be no problems | 19:09 |
th1a | It would be great if you'd make a copy of your Data.fs and try to move it to the development version. | 19:09 |
mgedmin | in other words, if you experience any, that's a bug | 19:09 |
th1a | Try it with A COPY. | 19:09 |
erchache | ahhh dont worry i can do it | 19:09 |
th1a | erchache: I was referring to the fact that Europeans take much longer vacations than Americans. | 19:09 |
erchache | but how i can access to svn? | 19:09 |
erchache | yeah | 19:09 |
erchache | but im special worker | 19:10 |
erchache | i work for a university of state | 19:10 |
erchache | and has better work conditions like rest | 19:10 |
erchache | :P | 19:10 |
th1a | True. | 19:10 |
th1a | http://source.schooltool.org | 19:10 |
erchache | ok | 19:10 |
erchache | cool | 19:11 |
erchache | :D | 19:11 |
erchache | how i can get write access for svn? need my public gpg key? | 19:12 |
erchache | or x.509? | 19:12 |
th1a | Oh, yeah. | 19:12 |
th1a | You did mail in your contributor agreement, right? | 19:12 |
*** thisfred has quit IRC | 19:13 | |
erchache | yeah by snail mail | 19:13 |
erchache | i send a letter to shuttleworth foundation | 19:14 |
th1a | OK. Right. | 19:14 |
erchache | uhmmm i write shuttleworth right on one typing :D | 19:14 |
th1a | mgedmin: I would like erchache to have commit access, just to do Spanish translations of docs in the source. | 19:14 |
th1a | erchache: We'll have another discussion if you actually want to contribute Python code. | 19:15 |
mgedmin | th1a, I am still waiting for ercache's public ssh key | 19:15 |
*** pcardune has joined #schooltool | 19:15 | |
erchache | uhmmm | 19:15 |
erchache | how i can send it? | 19:15 |
erchache | i have these key on a floppy on my house | 19:15 |
*** bska|mobile has quit IRC | 19:15 | |
th1a | I'm going to lunch. | 19:15 |
erchache | ok | 19:16 |
*** th1a is now known as th1a|unch | 19:16 | |
erchache | mgedmin: how i can send it? | 19:16 |
mgedmin | erchache, email | 19:16 |
erchache | send me your mail | 19:16 |
mgedmin | marius@pov.lt | 19:16 |
erchache | ok | 19:16 |
erchache | asmarin@us.es | 19:16 |
mgedmin | (note: send the public, not the private key) | 19:16 |
mgedmin | (id_dsa.pub or id_rsa.pub, depending on key type) | 19:16 |
erchache | hehehehe i know ;P | 19:17 |
erchache | im not integrate my public key on my mac yet | 19:17 |
mgedmin | should be easy | 19:17 |
erchache | uhmm good excuse to do it | 19:17 |
erchache | yeah | 19:17 |
mgedmin | just drop it in ~/.ssh/ | 19:17 |
th1a|unch | OK, my "Baltic Phrasebook" just arrived. | 19:26 |
th1a|unch | Sveiki! | 19:27 |
th1a|unch | I don't know how to type these funny characters. | 19:28 |
th1a|unch | Ar jus megs jodineti? | 19:30 |
mgedmin | th1a|unch, here's some for you: ąčęėįšųūž ĄČĘĖĮŠŲŪŽ „“ | 19:31 |
*** jinty has quit IRC | 19:33 | |
srichter | th1a|unch: best switch to a lt keyboard ;-) | 19:33 |
*** alga has joined #SchoolTool | 19:35 | |
erchache | well i left to home | 19:44 |
erchache | mgedmin: i will send you my public key | 19:44 |
*** th1a|unch is now known as th1a | 19:47 | |
*** pcardune has quit IRC | 19:49 | |
*** pcardune has joined #schooltool | 19:54 | |
erchache | i left to home | 19:54 |
*** erchache has quit IRC | 19:54 | |
pcardune | th1a, got skype to work on ubuntu... cool | 19:55 |
th1a | Nice. | 19:55 |
srichter | mgedmin: I got an internal server error with one of my rest interfaces | 20:04 |
srichter | how can I debug this best? | 20:04 |
th1a | Are you using the current svn version of SchoolTool? | 20:04 |
srichter | yes | 20:04 |
mgedmin | srichter, you should see the traceback in the log file then | 20:04 |
srichter | which one? | 20:05 |
mgedmin | the one defined in <eventlog>, I think | 20:05 |
mgedmin | or are you talking about ftests? | 20:05 |
srichter | I am talking about ftests | 20:05 |
mgedmin | rest("""...""", handle_errors=False) should help | 20:06 |
mgedmin | same as for HTTP | 20:06 |
srichter | ok, cool | 20:06 |
*** gintas has quit IRC | 20:09 | |
*** tvon has quit IRC | 20:42 | |
*** pcardune_ has joined #schooltool | 21:35 | |
*** pcardune has quit IRC | 21:35 | |
*** RX has joined #schooltool | 21:46 | |
*** RX has left #schooltool | 22:11 | |
povbot | /svn/commits: * srichter committed revision 4373: | 22:27 |
povbot | /svn/commits: Create a branch to check in my work as to not to interfere with the release. | 22:27 |
*** mgedmin has quit IRC | 22:33 | |
povbot | /svn/commits: * srichter committed revision 4374: | 23:24 |
povbot | /svn/commits: New mechtest framework; this will go away, once Benji places all this into the Zope 3 trunk. | 23:24 |
povbot | /svn/commits: * srichter committed revision 4375: | 23:26 |
povbot | /svn/commits: Implementation of levels and promotion workflow. | 23:26 |
povbot | /svn/commits: * srichter committed revision 4376: | 23:27 |
povbot | /svn/commits: I made some changes to mechtest, so I have to check this in temporarly. | 23:27 |
povbot | /svn/commits: * srichter committed revision 4377: | 23:28 |
povbot | /svn/commits: Oops, forgot. | 23:28 |
srichter | everyone, specifically Tom: feel free to check out my work from the srichter-workflow branch | 23:32 |
srichter | th1a: see above | 23:33 |
srichter | some of this code is stubbed right now, because I wanted to wait for some decisions to be made. | 23:34 |
srichter | Once the manager group and student persons implement specific interfaces, I will reregister some views | 23:34 |
alga | srichter: how do you like working on schooltool? | 23:35 |
alga | does the design seem sane? :-) | 23:35 |
srichter | yes, the libs are very good | 23:35 |
srichter | there are a couple corners that a re bit rough | 23:35 |
srichter | I think we need some UI guidelines | 23:36 |
srichter | the current CSS files contain ultra-specific styles, but almost no general ones that I could have used for example | 23:36 |
alga | true | 23:37 |
srichter | alga: but overall, I finished the project without any framework frustration, which is a sign that everything is fine | 23:37 |
srichter | I also found a traverser that was insane | 23:37 |
alga | in rest? :-) | 23:37 |
srichter | I amrked it with about 30 XXX | 23:37 |
srichter | no | 23:38 |
srichter | it was the one that traverses from SchoolToolApp to the containers or some timetable stuff | 23:38 |
srichter | the containers were all hand-coded | 23:38 |
alga | whoa :-) | 23:39 |
srichter | Modified: branches/srichter-workflow/src/schooltool/browser/app.py | 23:39 |
srichter | =================================================================== | 23:39 |
srichter | --- branches/srichter-workflow/src/schooltool/browser/app.py 2005-07-26 20:24:04 UTC (rev 4374) | 23:39 |
srichter | +++ branches/srichter-workflow/src/schooltool/browser/app.py 2005-07-26 20:25:52 UTC (rev 4375) | 23:39 |
srichter | @@ -61,8 +61,15 @@ | 23:39 |
srichter | adapts(ISchoolToolApplication) | 23:40 |
srichter | 23:40 | |
srichter | def publishTraverse(self, request, name): | 23:40 |
srichter | + # XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX | 23:40 |
srichter | + # XXX: THIS IS TOTALLY TOTALLY UNACCEPTABLE!!!! THIS REALLY SUCKS!!! | 23:40 |
srichter | + # I CANNOT BELIEVE THIS IS IN HERE!!! (SR) XXX | 23:40 |
srichter | + # XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX | 23:40 |
srichter | + # | 23:40 |
srichter | + # Even the following would be better: | 23:40 |
srichter | + # return self.context.get(name, sbcal.CalendarOwnerT...) | 23:40 |
srichter | if name in ('persons', 'resources', 'sections', 'groups', | 23:40 |
srichter | - 'ttschemas', 'terms', 'courses'): | 23:40 |
srichter | + 'ttschemas', 'terms', 'courses', 'levels'): | 23:40 |
srichter | return self.context[name] | 23:40 |
srichter | 23:40 | |
srichter | return sbcal.CalendarOwnerTraverser.publishTraverse(self, request, name) | 23:41 |
srichter | sorry for the rough comment ;-) | 23:41 |
srichter | I just wasted a lot of time finding this ;-) | 23:41 |
srichter | alga: is the suggested fix ok; should I check it into the trunk (not the comment, but the fix)? | 23:41 |
srichter | alga: I think making ST a platform in the next release will be a great relief; I think we can do a couple cool things in setting up ST app itself | 23:42 |
srichter | with using subscribers, utilities or adapters | 23:42 |
srichter | alga: do you think there is a chance we can merge schoolbell and schooltool again? | 23:43 |
srichter | alga: I think it should be part of zpkgtools to make the two different distributions | 23:43 |
th1a | Jeez. Go pick up some vegetables and when I come back all hell has broken loose. | 23:44 |
alga | srichter: sure, go and fix it, as long as the tests pass | 23:44 |
alga | (if indeed that critter has good tests, which I doubt) | 23:45 |
alga | Marius used to read all the checkin messages and loudly complain about cruft like that | 23:45 |
alga | but now he's depressed, backlogged, and has not read the chekin messages for quite some time | 23:46 |
srichter | yeah, I can see that | 23:46 |
srichter | I tried to follow the checkin messages, but there are a lot | 23:46 |
th1a | Where did the code in question come from? | 23:47 |
alga | svn blame points at '4257 tvon' | 23:47 |
srichter | th1a: I did not do a "svn blame" to not embarass that person :-) | 23:47 |
th1a | Hrm. | 23:47 |
th1a | Well, that person needs to get his shit together. | 23:48 |
alga | srichter: as for merging SchoolTool and SchoolBell, I understand the expectation is that the apps will diverge. | 23:49 |
srichter | and it is painful | 23:50 |
alga | so we just have to factor out the common base, and let SchoolTool become the app for schools, and SchoolBell the calendaring for business. | 23:50 |
srichter | do I have to import from schooltool or schoolbell? There are dual interfaces all over, ... | 23:50 |
srichter | alga: I think everything should live in src/schooltool | 23:51 |
srichter | and then we have src/schooltool/schoolbell that is the specific app code | 23:51 |
srichter | so schoolbell is just another packaged (scaled-down) schooltool application | 23:52 |
alga | it would be hard | 23:52 |
srichter | that's what I thought | 23:52 |
alga | for example, the daily calendar in SchoolTool integrates with timetabling | 23:52 |
srichter | I have not looked at the code in detail to see what's involved | 23:53 |
alga | in order to show the school periods along with the time grid | 23:53 |
*** matiasV has quit IRC | 23:53 | |
srichter | mmh, maybe this is a sign of a design flaw (I am totally guessing) | 23:53 |
srichter | perhaps we should look at utilizing the CA some more | 23:54 |
alga | theoretically, I agree with you | 23:54 |
alga | still, we should have two suites of functional tests, to make sure everything works in both configurations | 23:56 |
alga | maintaining two possible configurations is a pain, we have that in one of our projects | 23:56 |
srichter | ok | 23:57 |
srichter | maybe the new levels stuff in Jim's reimplementation of the test runner would help here | 23:57 |
th1a | The fact of the matter is, like alga said, if we have to fork the SchoolBell code and just concentrate on making SchoolTool clean, that's acceptable. | 23:57 |
th1a | We can't slow ourselves down forever to keep SchoolBell current. | 23:58 |
alga | well, keeping it current does not slow us down | 23:59 |
srichter | ok, I was assuming that schoolbell has equal priority to schooltool | 23:59 |
th1a | Definitely not. | 23:59 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!