*** th1a|X60s has joined #schooltool | 00:02 | |
jinty | th1a|X60s: ping? | 00:09 |
---|---|---|
th1a|X60s | jinty: Hi. | 00:22 |
th1a|X60s | How's your schedule look this week, jinty? | 00:23 |
jinty | hi th1a|X60s! | 00:51 |
jinty | actually I should have most of this week for schooltool | 00:51 |
jinty | to get that server going and prepare for the release | 00:52 |
jinty | packaging the schooltool egg deps and seeing about those debian packages | 00:53 |
th1a|X60s | jinty: Excellent. | 01:05 |
jinty | th1a|X60s: then you mind giving me the keys for the server? | 01:06 |
jinty | and letting me know exactly what you want? i.e. how many schools, domain names, etc | 01:07 |
*** didymo has joined #schooltool | 01:23 | |
*** jinty has quit IRC | 01:51 | |
*** th1a has quit IRC | 06:30 | |
*** srichter has quit IRC | 06:39 | |
*** th1a|X60s has quit IRC | 06:46 | |
*** th1a has joined #schooltool | 08:24 | |
*** srichter has joined #schooltool | 09:28 | |
*** mgedmin has joined #schooltool | 11:58 | |
*** armychina_ has joined #schooltool | 12:51 | |
armychina_ | when I following this document http://www.schooltool.org/documentation/setting-up-a-development-server/your-development-environment to install a schooltool ,i have this probelm:http://paste.ubuntu.org.cn/436 | 12:54 |
armychina_ | can anyone help me ? | 12:54 |
mgedmin | just a sec... | 13:02 |
mgedmin | whoa, what an interesting error | 13:05 |
mgedmin | armychina_: try 'make test' instead of running test.py directly | 13:05 |
mgedmin | or do LC_ALL=C python test.py -w -v -s src/schooltool | 13:06 |
mgedmin | it looks like your Python installation does not support your locale encoding | 13:06 |
armychina_ | use C_ALL=C python test.py -w -v -s src/schooltool,have the same probem. I installed python2.4 from darwinport.I'm using Mac OSX, Simple Chinese version. | 13:09 |
armychina_ | or how can i change the locale for python? | 13:12 |
mgedmin | hmm | 13:13 |
mgedmin | not C_ALL, LC_ALL | 13:13 |
armychina_ | yes,used LC_ALL, | 13:16 |
*** Aiste has quit IRC | 13:17 | |
* mgedmin does not know the answer... | 13:20 | |
*** faassen has joined #schooltool | 13:26 | |
*** armychina_ has quit IRC | 13:31 | |
*** armychina has joined #schooltool | 13:37 | |
*** alga has joined #SchoolTool | 13:39 | |
*** Aiste has joined #schooltool | 13:43 | |
armychina | I skiped the problem;use english environment of macosx. | 13:45 |
*** didymo has quit IRC | 13:48 | |
*** armychina has quit IRC | 14:17 | |
*** ignas has joined #schooltool | 14:19 | |
ignas | faassen: hi | 14:37 |
*** thisfred has joined #schooltool | 14:39 | |
faassen | ignas: hi | 14:43 |
ignas | have you seen what the bug with the Evilution scripts was | 14:43 |
faassen | hm, I'm not sure. | 14:43 |
faassen | what was it? | 14:43 |
ignas | pure evil | 14:44 |
ignas | 1. you were not copying the annotation dict just reusing it | 14:44 |
ignas | 2. there was no calendar in there | 14:44 |
faassen | hm. | 14:44 |
ignas | 3. subscriber tried to clear the calendar | 14:44 |
faassen | I thought I could reuse the annotation dict but apparently I was wrong. | 14:44 |
ignas | which added a new calendar to the common __annotations__ | 14:45 |
ignas | and then cleared it | 14:45 |
faassen | I'm not sure I follow this, but I'm sure that's why it was so hard to figure out. :) | 14:45 |
ignas | and the newly created calendar had the wrong parent | 14:45 |
faassen | um, an argument against the use of annotations? :) | 14:45 |
ignas | if we didn't have to change the base class | 14:45 |
ignas | we would not have such problems ;) | 14:46 |
faassen | concretely changing the base class will happen sometimes in a codebase. | 14:46 |
faassen | I mean, you can't refactor everything just by papering things over with annotations. :) | 14:46 |
faassen | anyway it sounds horribly complicated. | 14:46 |
faassen | I think it's an argument for simpler classes and less subscribers. :) | 14:47 |
ignas | i spend a lot of time until i found out that "del persons[name]" | 14:47 |
ignas | was ADDing a calendar to the new_person object | 14:47 |
faassen | that's bizarre. | 14:47 |
alga | because the calendar is "create on first access" | 14:47 |
ignas | and we have to clear it so all the booking relationships would get removed | 14:47 |
faassen | I didn't realize that anything located would be stored in an annotation. | 14:48 |
faassen | anyway, you can blame changing base classes for this torture. | 14:49 |
faassen | you can also blame the use of complicated constructions in the name of theoretical generality for it. :) | 14:49 |
ignas | not theoretical | 14:49 |
alga | faassen: we tried doing without abstractions for the first year or two | 14:49 |
faassen | this is not talkinga bout abstractions. | 14:49 |
alga | it didn't seem to work out | 14:50 |
faassen | the complexity is in the use of located annotations. | 14:50 |
faassen | one doesn't expect an annotation to have a location. | 14:50 |
alga | I mean annotations, subscribers etc. | 14:50 |
alga | pluggability | 14:50 |
faassen | well, I haven't seen much benefit from this pluggability yet. | 14:50 |
alga | faassen: you could have read around the source | 14:50 |
faassen | what, for the calendar overlays? | 14:51 |
ignas | these are a disaster | 14:51 |
alga | for calendars themselves | 14:51 |
faassen | anyway, I'm not arguing against abstraction. | 14:51 |
alga | or what's inside those annotations | 14:51 |
faassen | I'm just saying that the combination of events and annotations and locations is not going to make life easier. | 14:51 |
faassen | you can do abstractions with simpler constructions. | 14:51 |
faassen | I read around the calendar overlay source as soon as I realized that upgrades were broken. | 14:52 |
faassen | I couldn't make head or tail of it. :) | 14:52 |
faassen | I'd say a good rule is if you're going to have something located. | 14:52 |
faassen | it shouldn't *be* an annotation. | 14:53 |
faassen | you'd expect annotations to be transferrable. | 14:53 |
faassen | I mean, I think a reasonable pattern would be..if instances can't know about their annotations. | 14:53 |
mgedmin | would you? | 14:53 |
alga | that's something to argue about | 14:53 |
faassen | then annotations couldn't be too strongly coupled to their instances. | 14:53 |
alga | things that aren't locations are shared-on-copy by zope 3 copy-paste code | 14:54 |
alga | got bit by that | 14:54 |
faassen | anyway,I realize that we could've avoided a lot of pain in this area if we didn't try changing the base class. | 14:55 |
mgedmin | alga: no | 14:55 |
mgedmin | things that ARE locations, but are not actually contained (e.g. __parent__ is None) are shared-on-copy | 14:55 |
mgedmin | things that aren't locations are cloned-on-copy | 14:55 |
alga | ah, sorry | 14:55 |
mgedmin | faassen: yup, changing base classes is a BIG BIG BIG PAIN with zodb | 14:55 |
faassen | but this pain wasn't just caused by things being hard. | 14:56 |
faassen | I mean, by the ZODB making life hard. | 14:56 |
mgedmin | eh? | 14:56 |
faassen | it also was caused by a rather grotty set of interactions. | 14:56 |
faassen | in the calendar overlay story. | 14:56 |
mgedmin | schooltool does not get enough love :( | 14:56 |
faassen | (and other pain by a broken dependency system in Zope 3 so that dependencies couldn't be removed) | 14:56 |
faassen | I think part of the love would be .. | 14:56 |
faassen | to remember we're programming in Python. | 14:57 |
faassen | we don't have to use adapters and annotations and events. | 14:57 |
faassen | and I also really dislike some parts of Python :) | 14:57 |
faassen | where __get__ and bound properties come in. :) | 14:58 |
faassen | you can do great magic with it, but it's not perfect. | 14:58 |
faassen | and then my brain just hurts trying to figure it out. | 14:58 |
faassen | I had that with zope.formlib | 14:58 |
faassen | great package, but try making your own actions implementation and you go crazy. | 14:58 |
faassen | anyway, it's just hard anyway, programming. :) | 14:59 |
faassen | sorry to cause so much trouble with that. | 14:59 |
faassen | I hadn't realized the person class had so much complexity associated with it. | 15:00 |
faassen | it looks deceptively simple. :) | 15:00 |
faassen | I imagine a general issue with evolution scripts is that they break through abstractions. | 15:01 |
faassen | out of necessity. | 15:01 |
alga | i think a general issue with evolution scripts is that they break | 15:04 |
alga | :) | 15:04 |
faassen | well, they do that for a reason. | 15:04 |
alga | evolution is inherently hard | 15:05 |
faassen | and that's because they don't use the abstractions of the application, they by necessity have to break through them as they don't fit in the normal application usage pattern at all. | 15:05 |
alga | like multithreading, but your threads are different versions of the software | 15:05 |
faassen | that's what I'm saying. I'm just trying to explain why it's hard. | 15:05 |
faassen | normally abstractions and automation in your application helps the programmer. | 15:06 |
faassen | but in the case of evolution, they only make life harder. | 15:06 |
ignas | each of us has written 5-6 evolution scripts at all, and only now i am beginning to understand HOW they should look and work | 15:06 |
faassen | we've been doing evolution-style stuff for Silva for years. | 15:07 |
faassen | but we only infrequently had to move persistent classes and those were simpler. | 15:07 |
faassen | anyway, I started out messing about with the person package. :) | 15:08 |
faassen | and not changing the base class. | 15:08 |
faassen | but I got rather negative feedback at the time. :) | 15:09 |
faassen | anyway, damned in every direction. :) | 15:10 |
*** jinty has joined #schooltool | 15:12 | |
alga | Schooltool needs a head designer... | 15:14 |
alga | because now the design is a result of a blanket-pulling competition | 15:15 |
alga | with players coming and going | 15:15 |
ignas | and jumping on the blanket others are pulling :D | 15:16 |
faassen | yay! :) | 15:16 |
* faassen bounces on the blanket. | 15:17 | |
*** gintas has joined #schooltool | 15:23 | |
*** pcardune has joined #schooltool | 15:27 | |
pcardune | mgedmin: for some reason, schooltool is trying to adapt one of my objects to ICompositeTimetables, but I have no idea why? I tried to find some zcml that might cause it but came up with nothing | 15:55 |
pcardune | when i say my objects I mean a cando object that implements schooltool.group.interfaces.IBaseGroup | 15:55 |
pcardune | faassen? | 15:57 |
mgedmin | pcardune: what's your question? | 15:57 |
pcardune | mgedmin: my question is, why is schooltool ever trying to convert my objects to ICompositeTimetable? | 15:58 |
toxygen | is there any simple command to update schooltool to svn? | 15:58 |
pcardune | when they have nothing to do with calendars and are registered as such | 15:58 |
mgedmin | toxygen: svn up | 15:58 |
mgedmin | then you may want to run 'make update' to also update zope 3 etc | 15:58 |
toxygen | svn co http://source.schooltool.org/svn/trunk/schooltool | 15:58 |
toxygen | this? | 15:58 |
mgedmin | pcardune: might be a bug | 15:58 |
mgedmin | toxygen: yes | 15:58 |
toxygen | make update or that svn command? | 15:59 |
toxygen | 'make update' vs 'svn co http://source.schooltool.org/svn/trunk/schooltool' | 15:59 |
toxygen | which one? | 15:59 |
mgedmin | toxygen: what exactly do you mean 'update schooltool to svn'? | 15:59 |
mgedmin | I thought you already had a checkout | 15:59 |
toxygen | update to latest version from svn | 15:59 |
mgedmin | what do you have now | 16:00 |
mgedmin | ? | 16:00 |
mgedmin | pcardune: where in the code is the adapter lookup failing? | 16:00 |
ignas | pcardune: maybe because there is a zcml declaration that adds an interface like IHaveTimetables to your interface ? | 16:01 |
toxygen | a pretty old downloaded .tar.gz package | 16:01 |
mgedmin | toxygen: then do svn co http://source.schooltool.org/svn/trunk/schooltool | 16:01 |
pcardune | File "/home/pcardune/cando/SchoolTool/src/schooltool/timetable/source.py", line 69, in listTimetables | 16:01 |
pcardune | keys.update(ICompositeTimetables(obj).listCompositeTimetables()) | 16:01 |
pcardune | TypeError: ('Could not adapt', <cando.journal.journal.Journal object at 0xb6101a2c>, <InterfaceClass schooltool.timetable.interfaces.ICompositeTimetables>) | 16:01 |
mgedmin | to see if it works, run 'make test' inside | 16:01 |
toxygen | yep, i'm doing right now | 16:01 |
toxygen | :) | 16:01 |
toxygen | thx | 16:01 |
povbot | /svn/commits: * pcardune committed revision 6234: | 16:02 |
povbot | /svn/commits: made popup dashboard use AJAX so dashboard is only rendered when it is needed. | 16:02 |
ignas | pcardune: try importing pdb in there | 16:02 |
mgedmin | pcardune: it looks like Journal implements IHaveTimetables | 16:02 |
ignas | and check IHaveTimetables.providedBy(object) | 16:02 |
ignas | then look for <implements interface="schooltool.timetable.interfaces.IHaveTimetables" /> | 16:03 |
pcardune | mgedmin: right, that is what I first thought, but then i couldn't find any registration as such for IJournal or IBaseGroup | 16:03 |
ignas | that adds the interface to some base class you are inheriting from | 16:03 |
pcardune | which is the only base class i'm inheriting from... i'll do what you suggest though | 16:03 |
mgedmin | the code (well, zcml) currently assumes that if you provide IHaveTimetables, you'll have adapters to ITimetables and ICompositeTimetables | 16:03 |
toxygen | mm, any idea why 'make test' downloads zope3? | 16:03 |
mgedmin | toxygen: it's supposed to | 16:04 |
ignas | toxygen: because you don't have Zope3 in schooltool directory? | 16:04 |
mgedmin | because schooltool needs zope 3 (trunk) to run | 16:04 |
*** alga has quit IRC | 16:05 | |
pcardune | oh, I think it has something to do with me reusing the URIGroup relationship | 16:06 |
mgedmin | hmm | 16:06 |
ignas | pcardune: not sure it is associated | 16:07 |
*** mgedmin is now known as mgedmin|lunch | 16:07 | |
ignas | though in general you should not reuse relationships | 16:07 |
pcardune | ignas: I was hoping you weren't going to say that | 16:07 |
pcardune | :) | 16:08 |
ignas | that might lead to some problems later (group/section/member) thingie | 16:08 |
ignas | sections have members, groups have members, persons are MEMBERS for both of them which sometimes makes it difficult to perform operations on only Groups or Sections of a person | 16:08 |
pcardune | hmm | 16:10 |
pcardune | ignas: I think what you have just said is currently a bug in schooltool which breaks the gradebook | 16:10 |
pcardune | the gradebook doesn't know how to handle groups as members of a section | 16:10 |
ignas | groups being members of a section is a case that is not tested that much :/ | 16:11 |
pcardune | yeah, I think it needs to be changed to be more transparent, so that when you iterate over members of a section, you only ever get IPersons, even when there is a group involved | 16:12 |
ignas | though it is a very common scenario in Lithuania ... | 16:12 |
ignas | it might be difficult to change :/ and even if it's not i am afraid i don't have time for that | 16:13 |
ignas | you should add this to the issue tracker | 16:13 |
ignas | if it is not in there | 16:13 |
ignas | so we would not keep forget about the issue | 16:13 |
th1a | pcardune: srichter is refactoring the section to fix that. | 16:14 |
th1a | The groups as members of a section problem. | 16:14 |
pcardune | th1a: ok, i guess i dont need to put it in the issue tracker then | 16:15 |
pcardune | ignas: so you suggest I come up with my own relationships? The only problem I see with this is that I want to completely reuse all the functionality provided by the relationships that already exist, just with different names | 16:17 |
ignas | you mean ? | 16:18 |
ignas | you don't have to literaly create your own classes | 16:18 |
ignas | just add new URIs | 16:18 |
ignas | and register them in zcml | 16:18 |
pcardune | you can register URIs in zcml?! | 16:19 |
ignas | <utility | 16:19 |
ignas | provides="schooltool.relationship.uri.IURIObject" | 16:19 |
ignas | component=".membership.URIGroup" | 16:19 |
ignas | name="http://schooltool.org/ns/membership/group" /> | 16:19 |
ignas | URIGroup = URIObject('http://schooltool.org/ns/membership/group', | 16:20 |
ignas | 'Group', 'A role of a containing group.') | 16:20 |
ignas | and the RelationshipSchema bit | 16:20 |
pcardune | interesting, I guess I will do that then | 16:20 |
ignas | look at the documentation of schooltoo.relationship | 16:20 |
pcardune | I looked at that a lot some months ago... I just barely understand how it works still... but I will try what you suggest, thanks | 16:21 |
pcardune | the dev meeting is in 10 minutes right? (i'm going to attend this time) | 16:22 |
ignas | yep | 16:22 |
toxygen | http://pastebin.com/706424 | 16:23 |
toxygen | any idea? | 16:23 |
toxygen | how to tell him where are the modules | 16:23 |
ignas | look at irclogs for yesterday | 16:24 |
th1a | toxygen: http://www.schooltool.org/documentation/setting-up-a-development-server/ | 16:24 |
ignas | even better | 16:25 |
* th1a shuffles some papers. | 16:29 | |
faassen | hm. | 16:30 |
pcardune | he he he | 16:30 |
faassen | I get an error now involving no dashContent.pt file. | 16:30 |
faassen | did someone forget to check something in? | 16:30 |
pcardune | oh, sorry | 16:30 |
pcardune | ok, it's in there now | 16:31 |
ignas | hi | 16:31 |
ignas | :) | 16:31 |
povbot | /svn/commits: * pcardune committed revision 6235: | 16:31 |
povbot | /svn/commits: forgot to add this file, so sorry | 16:31 |
pcardune | unit tests don't check against forgetting to add something ;) | 16:31 |
th1a | jinty or srichter here? | 16:32 |
faassen | okay, was going to check in and was rerunning the tests. :) | 16:32 |
th1a | srichter just bought a house so his life has been a little crazy. | 16:32 |
th1a | We had a long meeting here on Friday. | 16:32 |
pcardune | congratulations srichter | 16:33 |
jinty | th1a: yep | 16:34 |
th1a | jinty: hi. | 16:34 |
th1a | OK, faassen, what's your status? Should I be evaluating your work as "done?" | 16:34 |
faassen | well, after this checkin we'll be close. | 16:35 |
th1a | OK. It looked like we were close. | 16:35 |
th1a | What's left? | 16:35 |
faassen | there, all done now. :) | 16:35 |
faassen | I need to tweak CSV uploads. | 16:36 |
faassen | as last names are now required | 16:36 |
th1a | Ah. | 16:36 |
faassen | and csv upload doesn't require them yet. | 16:36 |
povbot | /svn/commits: * faassen committed revision 6236: | 16:36 |
th1a | OK. | 16:36 |
povbot | /svn/commits: Re-enable photo upload. | 16:36 |
faassen | but that should be done today. | 16:36 |
faassen | after that I'm going to work on other stuff unless schooltool things come up that need quick fixing. | 16:36 |
th1a | The one thing I just noticed in the add form is that previously the username was optional and the system would generate a unique one if one wasn't supplied. | 16:37 |
th1a | Which was preferable. | 16:37 |
faassen | okay, I'll put that on the list. | 16:37 |
faassen | don't know where that went. | 16:37 |
th1a | Or... | 16:37 |
th1a | I think that's what's happening. | 16:38 |
th1a | OK... moving on then. How are things coming for POV? | 16:39 |
ignas | kind of tough :/ | 16:39 |
ignas | gintas is having an exam soon | 16:39 |
faassen | I made ignas' life hard last week too. :) | 16:39 |
ignas | vidasp will start working on password changing story tomorow | 16:39 |
ignas | and i am left solo to finish up access control | 16:40 |
faassen | what's the password changing story? | 16:40 |
th1a | ignas has been very helpful lately. | 16:40 |
ignas | make manager password settable through command line | 16:40 |
faassen | ah, okay. | 16:40 |
ignas | now i am working on deprecating all the old permissions | 16:40 |
toxygen | got it | 16:40 |
toxygen | thx | 16:40 |
toxygen | :) | 16:40 |
ignas | leaving only schooltool.edit and schooltool.add | 16:41 |
ignas | the downside being that some of the items in the action menu are shown even if they are not available ... | 16:41 |
th1a | Why is that? | 16:41 |
toxygen | maybe put into the code if that error appears, the line about setuptools and link with download could appear? | 16:42 |
ignas | the fact that we are using zmi_menus makes it difficult to fix | 16:42 |
ignas | the Navigation menu is composed of viewlets and these can have custom permissions or custom ocntexts | 16:42 |
ignas | and action menu items can't | 16:43 |
th1a | Oh, so that's something that needs to be changed at some point. | 16:43 |
ignas | yes | 16:43 |
th1a | OK. | 16:43 |
toxygen | or bImportError: No module named PIL | 16:43 |
ignas | the time constraints are kind of tough with only 3.5 days being left to finish it up | 16:44 |
toxygen | ups | 16:44 |
toxygen | ImportError: No module named PIL | 16:44 |
toxygen | this should be it | 16:44 |
toxygen | where i can get this one? | 16:44 |
pcardune | toxygen: sudo apt-get install python-imaging | 16:44 |
ignas | while at the same time the navigation menu is not showing person containers etc. when you can't see them | 16:44 |
toxygen | pcardune: k thx | 16:44 |
ignas | (dashboard is though) | 16:44 |
th1a | toxygen: It is included with dapper. | 16:44 |
toxygen | th1a: i have sarge, thx | 16:45 |
toxygen | :) | 16:45 |
ignas | is displaying the links i mean | 16:45 |
pcardune | that is the old dashboard code which I left in there which is displaying those links | 16:45 |
th1a | ignas: We can fix the links later. | 16:46 |
th1a | Soon, but later. | 16:46 |
pcardune | ignas: on which revision to you start getting rid of the schooltool permissions? | 16:46 |
pcardune | to == did | 16:46 |
pcardune | ignas: as it broke my code in a not so fun way | 16:46 |
ignas | don't know, it is happening gradually :/ | 16:46 |
ignas | sorry about that, i don't really have a checkout of your code ... | 16:47 |
ignas | you can always add the <permission> declarations yourself | 16:47 |
ignas | these should make it work as if nothing has changed | 16:47 |
th1a | pcardune: Do you understand where we're going with access control? | 16:47 |
pcardune | th1a: yes, and i love it | 16:47 |
th1a | OK. Good. It was meant to address Welsh's concerns. | 16:48 |
pcardune | it certainly does | 16:48 |
ignas | Welsh's ? | 16:48 |
th1a | Welsh is the driving force behind CanDo. | 16:49 |
ignas | oh | 16:49 |
th1a | He's the user. | 16:49 |
th1a | And evangelist. | 16:49 |
th1a | pcardune: Can you give us a CanDo update? | 16:50 |
pcardune | yes | 16:50 |
pcardune | I am in the d.c. area now, and we are going full steam ahead on CanDo development | 16:50 |
pcardune | we will have 3 summer interns doing various odds and ends | 16:50 |
pcardune | I have almost finished reimplementing all the functionality from the previous version, and then some, using all the new schooltool features | 16:51 |
th1a | Excellent. | 16:51 |
pcardune | and am working on improving some views to use AJAX | 16:51 |
pcardune | I think everyone here is so far very impressed with the revisions to schooltool | 16:52 |
th1a | That's reassuring ;-) | 16:53 |
faassen | phew. :) | 16:53 |
pcardune | we are also in contact with zope corp who handles the competency databases for the state of virginia... CTEResources to be more specific | 16:53 |
pcardune | and will hopefully have some xml documents towards the end of the summer for sharing data | 16:53 |
th1a | Thanks. Shall we move on to jinty? | 16:53 |
jinty | why not | 16:54 |
jinty | I've got a few things on my plate right now | 16:54 |
jinty | firstly the nightly tarball is broken, something to do with the schooltool security policy | 16:55 |
ignas | oops | 16:55 |
jinty | but I havn't investigated too much yet | 16:55 |
ignas | any tracebacks ? or places i can find the signs of breakage ? | 16:56 |
jinty | ERROR: ZopeXMLConfigurationError: File "/home/jinty/nobackup/releases/schooltool/src/schooltool/securitypolicy/meta.zcml", | 16:56 |
jinty | +line 5.4-9.8 | 16:56 |
jinty | ERROR: ImportError: cannot import name Crowd | 16:56 |
jinty | it's kinda like that ^^ | 16:56 |
jinty | i'll forward one of the mails to the list | 16:56 |
ignas | thank you | 16:56 |
ignas | i think i forgot to add proper DEPENDENCIES.cfg etc. | 16:57 |
jinty | forwarded | 16:57 |
jinty | er, I'm not so sure, but I'll have a good look at it eventually | 16:58 |
jinty | secondly, the zc.* packages | 16:58 |
* faassen cringes. | 16:58 | |
jinty | I just managed to get python-zc and python-zc.i18n built and should upload them to the schooltool repo soon | 16:59 |
faassen | what's python-zc? | 16:59 |
toxygen | sorry people for bothering you, but can someone help me with http://pastebin.com/706487 | 16:59 |
jinty | you can do: apt-get install python-zc.i18n | 16:59 |
ignas | toxygen: svn up | 16:59 |
jinty | then zc.i18n is on the python path... | 17:00 |
toxygen | ignas: that was downloaded few minutes ago from svn | 17:00 |
ignas | toxygen: svn up! | 17:00 |
ignas | ;) | 17:00 |
toxygen | ok | 17:00 |
toxygen | :) | 17:00 |
th1a | toxygen: Things are moving quickly right now. | 17:00 |
toxygen | hehe | 17:00 |
toxygen | :) | 17:00 |
jinty | faassen: python-zc is the namespace package and carries the zc/__init__.py file | 17:00 |
toxygen | whooosh | 17:01 |
toxygen | it works :) | 17:01 |
toxygen | thx guys! | 17:01 |
faassen | jinty: ah, okay. | 17:01 |
faassen | jinty: boring. :) | 17:01 |
jinty | anyway, after making the rest of the zc.* packages, i'll post to the list and ask for some testing. | 17:01 |
th1a | OK. Sounds good. | 17:02 |
jinty | then I can start on the real schooltool packages | 17:02 |
jinty | thirdly, the new server, which I havn't touched yet, but hope to do so later today | 17:02 |
th1a | jinty: So I guess we'll do an rc next week? | 17:03 |
th1a | or should we skip that step. | 17:04 |
th1a | ? | 17:04 |
th1a | I guess a release candidate for an alpha is kind of queer. | 17:04 |
jinty | yeah, let's just skip that | 17:04 |
th1a | OK. | 17:04 |
jinty | but as soon as the nightly tarball works we can release tarballs | 17:04 |
th1a | OK. | 17:05 |
jinty | packages might or might not take a bit longer | 17:05 |
jinty | debian/ubuntu python packaging is in a state of massive change at the moment | 17:06 |
th1a | So what's the general perception of the generations situation? | 17:06 |
faassen | jinty: what is changing? | 17:06 |
faassen | jinty: I mean, very briefly. just curious. | 17:06 |
th1a | Generations = hopelessly screwed or generations = just a pain? | 17:06 |
faassen | th1a: well, things were broken when I tried it. in part that was my own fault, changing classes is really difficult. | 17:06 |
faassen | th1a: well, generations combined with calendar_overlays is pretty screwed, I think. :) | 17:07 |
jinty | faassen: they are re-writing the the policy to get rid of pythonX.Y packages and make python transitions less painfull | 17:07 |
* pcardune cringes at the smell of dead rats from the biology lab next door | 17:07 | |
faassen | anyway, maybe ignas can say something about it | 17:07 |
faassen | as the most recent sufferer | 17:07 |
jinty | faassen: s/pythonX.Y/pythonX.Y-module/ | 17:07 |
th1a | pcardune: Are you at the high school? | 17:07 |
faassen | I think in part generations are inherently complicated. | 17:07 |
faassen | because they do things that will inevitably have to break abstractions and deal with messy innards. | 17:07 |
pcardune | th1a: at the career center... so yes | 17:07 |
th1a | faassen: That's true. | 17:07 |
faassen | the only way to completely avoid that is to go a complete (XML) export/import route, which is a lot of work and has issues of its own of course. | 17:08 |
th1a | I just want someone to warn me if they're really breaking down as opposed to just being difficult. | 17:08 |
faassen | changing classes in the ZODB is not really possible so you have to carry along all data and I caused this with the pesron changes. | 17:08 |
ignas | th1a: i can't say that they are not breaking :/ | 17:08 |
th1a | faassen: I was discussing that with pcardune (XML export/import). | 17:08 |
faassen | (because I wasn't using annotations and my direct changes to schooltool.person were initially discouraged) | 17:08 |
ignas | th1a: i can't upgrade erchaches Data.fs though it might be issues in Zope3 or the Data.fs itself | 17:09 |
faassen | th1a: we've done it for Silva. I believe it's conceptually simple, it's just lost of work. | 17:09 |
ignas | th1a: though i have fixed like 4 points of breakage yesterday | 17:09 |
*** gintas has quit IRC | 17:09 | |
ignas | generations have the huge downside of having no Automated tests :/ | 17:09 |
ignas | and semi automated approach was lost when srichter forked schooltool | 17:09 |
ignas | and just don't have time to resurrect it at the moment ... | 17:10 |
faassen | th1a: XML import/export has great benefits, but it does cost work to maintain. but it is inheritently simpler than generations, and no more problems with moving classes. you just need to keep updating the import and export subsystem, though. | 17:10 |
faassen | inherently, that is. | 17:10 |
ignas | at the same time some simple changes to logic might lead to complex changes in import/export ... | 17:11 |
faassen | then again I suspect the generations are costing us quite a bit of work to maintain as well. and some stuff is easier with generations. | 17:11 |
faassen | ignas: yes. | 17:11 |
faassen | both have their benefits and drawbacks. | 17:11 |
faassen | as usual. :) | 17:11 |
ignas | generations should have the upside of "not having to maintain them" | 17:11 |
faassen | heh. | 17:11 |
ignas | only to write the script once | 17:11 |
faassen | what? :) | 17:11 |
th1a | There isn't any way to change a codebase as much as we've been doing and maintaining compatibility. | 17:11 |
faassen | you write it once and then spend days in debugging hell. | 17:11 |
ignas | but it is too easy to delete an unused class that is required by old Data.fs instances ... | 17:12 |
th1a | It is much easier if you just never release any software. | 17:12 |
ignas | th1a: there actualy is, we are maintaining it compatible ... | 17:12 |
ignas | at the moment i think ;) | 17:12 |
ignas | it needs more testing though ... | 17:13 |
th1a | ignas: Yes, there should have been an "easily" in there somewhere. | 17:13 |
th1a | In my statement. | 17:13 |
ignas | :) | 17:13 |
th1a | :-) | 17:13 |
th1a | OK... moving on. | 17:13 |
th1a | I encouraged pcardune to try out some GUI ideas. | 17:14 |
th1a | Thus the sliding dashboard appeared. | 17:14 |
faassen | where did it appear? | 17:14 |
ignas | :) | 17:14 |
th1a | At the bottom of your browser window? | 17:14 |
* faassen looks. | 17:14 | |
ignas | yep, i think that it should slide from top to bottom too ;) | 17:14 |
ignas | more like Quake :) | 17:15 |
*** mgedmin|lunch is now known as mgedmin | 17:15 | |
faassen | whoah. | 17:15 |
pcardune | http://bonnieb.yhspatriot.net:7080 (login: pcardune password: banana) if anyone wants to see it in a bit more action | 17:15 |
faassen | things slides. | 17:15 |
faassen | of course this is UI change cheating. | 17:15 |
faassen | you don't ahve to change the actual pages a lot to do this. | 17:15 |
faassen | so you don't break any tests. :) | 17:15 |
th1a | Ha! | 17:15 |
pcardune | precisely | 17:15 |
faassen | by the way, there's now a new UI facility in Schooltool. | 17:16 |
faassen | and that's the zc.tables | 17:16 |
pcardune | until the day functional tests support javascript... then I'm in trouble | 17:16 |
faassen | so if you want to change stuff to tabular display, that's not too difficult. | 17:16 |
faassen | there's a table base class in skin that has batching support and everything | 17:16 |
faassen | and you can look at how it's done in schooltool/demographics | 17:16 |
pcardune | oh really, i will take a look at that | 17:16 |
faassen | it's pretty neat stuff. | 17:16 |
th1a | srichter will be using it in the new gradebook as well. | 17:16 |
faassen | okay, I hope he can use some of the stuff I did. | 17:17 |
faassen | not that it's much, the trickiest was batching integration. | 17:17 |
pcardune | faassen: what exactly does it batch? | 17:17 |
pcardune | the tabs or the contents of each tab? | 17:17 |
faassen | pcardune: the items in the table. | 17:17 |
faassen | pcardune: no, persons, in this case. | 17:17 |
pcardune | oh ok | 17:17 |
faassen | pcardune: so you have a lot of people in a table, and it's batched and columns are sortable. | 17:18 |
faassen | pcardune: and ti's easy to introduce new columns, change the way things sort, etc. | 17:18 |
pcardune | very nice | 17:18 |
*** gintas has joined #schooltool | 17:18 | |
th1a | I think we should consider moving to a more conventional tabbed interface the basic functionality. | 17:19 |
th1a | Like "Calendar" "Gradebook", etc across the top. | 17:20 |
faassen | I think sidebar links aren't that unconventional. | 17:20 |
faassen | in fact tabs are often used for multiple views on the same thing. | 17:20 |
faassen | most non-plone websites don't seem to use tabs that much. :) | 17:20 |
ignas | usecases, we need some usecases | 17:21 |
ignas | though we can probably use the security table as a guideline | 17:21 |
ignas | look at the green dots and you can have a pretty clear picture of WHAT a student should have access to | 17:21 |
ignas | and streamline the interface to make it convenient | 17:22 |
pcardune | we need each user to be able to quickly access information they need/want to see regularly | 17:22 |
ignas | then go for teachers and administrators | 17:22 |
th1a | Yes, we do need the basic sequence of events for different users. | 17:22 |
th1a | At worst that will become apparent in the fall. | 17:22 |
th1a | We should be able to make progress on the GUI next month. | 17:22 |
pcardune | I think the dashboard should be the default view | 17:22 |
pcardune | it's available at @@dashboard.html | 17:23 |
ignas | i'd even suggest shortening iterations a bit to make us handle all the feedback better | 17:23 |
th1a | Yes, a dashboard. | 17:23 |
th1a | ignas: That's probably a good idea. | 17:23 |
pcardune | if we really wanted to get fancy, we could make "widgets" for the dashboard a la google personalized home page | 17:24 |
ignas | if not for evolution scripts it would be even possible to keep schooltool TRUNK in a constantly releasable state | 17:24 |
ignas | pcardune: sane defaults are way better than fancy customization | 17:24 |
ignas | and we need sane defaults to make a good first impression ;) | 17:24 |
pcardune | I agree, we want defaults, for sure... I'm just thinking of all the power users at there you know ;) | 17:25 |
th1a | Yes, I've learned the downsides of fancy customization the past two years. | 17:25 |
ignas | schooltool will be heavily used by people who are not very computer literate | 17:25 |
pcardune | at == out | 17:25 |
faassen | let's worry about the non-power users first please. :) | 17:25 |
faassen | I think ignas is entirely right about doing this use case driven. | 17:25 |
faassen | and I agree that the security talbe is a good guide. | 17:25 |
faassen | in fact I've been saying things like that for a while too. :) | 17:25 |
* faassen grins. | 17:25 | |
pcardune | well, if you need well outlined use cases, I'll ask dave welsh and he would deffinitly be into doing that | 17:26 |
th1a | Well, as I told pcardune, the one good thing you can say about our current UI is that we haven't spent much time on it. | 17:26 |
ignas | pcardune: would be very very nice | 17:26 |
th1a | pcardune: Yes, please. | 17:26 |
th1a | OK... any other concerns before we wrap up? | 17:27 |
ignas | is anyone testing/using the new security policy ? | 17:28 |
pcardune | I have been using/testing it lightly | 17:28 |
pcardune | it works quite well | 17:28 |
pcardune | although I do have one question | 17:28 |
th1a | ignas: What should I do to test it? I guess change the settings and log in as different people? | 17:29 |
pcardune | i have a page that displays journal entries, I only want the original authors to be able to delete their journal entries | 17:29 |
pcardune | but the delete permission is on the container and not the items in the container... | 17:29 |
faassen | I haven't done anything with it yet ignas | 17:29 |
faassen | haven't had the time. | 17:29 |
faassen | anyway, I'll aim to cross of the last bits off the todo list for demographics today. | 17:30 |
faassen | and then I'll just wait feedback. | 17:30 |
ignas | pcardune: you will need a custom permission for that i think, a crowd of PeopleWhoAreAuthors | 17:30 |
faassen | wait for feedback. | 17:30 |
pcardune | I've created that crowd already | 17:30 |
ignas | faassen: the deadline if friday, and i am concerned that it will require many small fixes after that | 17:30 |
pcardune | but I want more specific than just people who are authors | 17:30 |
pcardune | but people who are authors for journal entries | 17:30 |
ignas | th1a: just look at schooltool and notify of missing menu items or things that should not be seen by one user or another | 17:31 |
pcardune | I want to controll access to the containers __delete__ method based on what is being deleted | 17:31 |
faassen | ignas: the deadline for what exactly? | 17:31 |
pcardune | not and on who is deleting it | 17:31 |
ignas | faassen: for access control story PoV is working on | 17:31 |
pcardune | s/not/ | 17:31 |
faassen | ignas: oh, okay. | 17:31 |
faassen | ignas: I was talking demographics. I'm sure it will need some fixes or whatever, depending on feedback. | 17:31 |
faassen | ignas: I'll be working on some non-schooltool stuff for the next few weeks I expect. | 17:32 |
ignas | pcardune: that's what i mean an adapter to ICrowd that contains authors of the article | 17:32 |
* th1a gravels out the "formal" meeting. | 17:33 | |
th1a | Have a good week, folks! | 17:33 |
pcardune | ignas: ok, i have done that already, but how do i set the permission on the journal's __delete__ method? | 17:33 |
ignas | pcardune: and allow that crowd schooltool.delete on the article | 17:33 |
faassen | okay, thanks. :) | 17:33 |
ignas | pcardune: oh, now i get it ... you want the permission on the Container | 17:34 |
pcardune | but the article doesn't do the deleting... the container does... | 17:34 |
ignas | depend on the item that is being deleted | 17:34 |
ignas | container can do checkPermission('schooltool.delete', article) | 17:34 |
ignas | prior to deleting | 17:34 |
ignas | or you can have a delete subscriber | 17:34 |
ignas | that raises an Unauthenticated Exception | 17:35 |
ignas | if you don't want to polute the container code | 17:35 |
pcardune | ok... I think that is the answer I was looking for | 17:35 |
* pcardune is going to switch to a room farther away from rats and closer to world cup | 17:36 | |
*** pcardune has quit IRC | 17:37 | |
jinty | ignas: any luck with that nightly tarball error? | 17:37 |
ignas | th1a: though some of the links are not checking for permissions (they should do it, but are not), but which things should get hidden/displayed is for you to decide | 17:37 |
ignas | jinty: not yet, how do i build a tarball ? :) | 17:38 |
jinty | ah, it's in i18nextract.py! | 17:38 |
jinty | so perhaps make extract-translations will trigger it | 17:39 |
*** dwoo has joined #schooltool | 17:40 | |
ignas | yep | 17:43 |
ignas | reproduced it | 17:43 |
jinty | it's my code:( | 17:44 |
*** pcardune has joined #schooltool | 17:45 | |
ignas | oops | 17:45 |
ignas | a circular import | 17:46 |
*** alga has joined #SchoolTool | 17:50 | |
ignas | jinty: try it now | 17:52 |
ignas | please | 17:52 |
ignas | translation extraction works | 17:52 |
povbot | /svn/commits: * ignas committed revision 6237: | 17:52 |
povbot | /svn/commits: Fix a circular import. | 17:53 |
jinty | ignas: building it now | 17:53 |
jinty | ignas: works! thanks! | 18:06 |
ignas | cool :) | 18:06 |
ignas | now back to problems of my own :) | 18:07 |
povbot | /svn/commits: * faassen committed revision 6238: | 18:09 |
povbot | /svn/commits: Ensure that persons have a last name, no matter how they are created. | 18:09 |
povbot | /svn/commits: * ignas committed revision 6239: | 18:11 |
povbot | /svn/commits: Forgot to svn add a file when fixing evilution bugs. | 18:11 |
*** erchache has joined #schooltool | 18:52 | |
erchache | hi | 18:52 |
erchache | i was talking with my boss.....upgrading for 0.11.4 to 2006 are a important bug to solve or not? | 18:53 |
erchache | th1a | 18:53 |
erchache | ignas | 18:53 |
erchache | ginty | 18:53 |
erchache | jinty | 18:53 |
ignas | erchache: yes ? | 18:54 |
erchache | you cant solve my upgrade problem no? | 18:55 |
ignas | have you read my comment in schooltool issue tracker ? | 18:55 |
erchache | yepa | 18:55 |
erchache | something about zope3 libraries no? | 18:55 |
ignas | was the Data.fs used with a schooltool instance that was not a release version ? | 18:55 |
ignas | but rather a check out | 18:55 |
erchache | uhmmm....i use all stable previous versions....i think so | 18:56 |
erchache | from source code not apt | 18:56 |
ignas | :/ | 18:56 |
ignas | i don't know how to even check that | 18:56 |
erchache | well | 18:57 |
ignas | and I don't know enough about Zope3 internals to know whether it is a bug in Zope3 or not ... | 18:57 |
erchache | dont worry...thanks for all | 18:57 |
*** erchache has quit IRC | 19:30 | |
pcardune | ignas: how do i make use of the checkPermission method... what is the SchoolToolSecurityPolicy and how do i get an instance of it? | 20:06 |
ignas | schooltool.group.browser.group | 20:08 |
ignas | getAvailableItems | 20:08 |
ignas | and it's unit test | 20:08 |
ignas | should give you enough clues | 20:08 |
pcardune | thanks | 20:08 |
ignas | th1a: still there ? | 20:28 |
ignas | pcardune: how did it go ? :) | 20:29 |
pcardune | it worked | 20:29 |
pcardune | I still need to learn a lot more about how security works in zope | 20:29 |
pcardune | along with authentication | 20:29 |
*** pcardune_ has joined #schooltool | 20:53 | |
ignas | pcardune_: sorry but you will get some more fixing to do ... as i have obliterated all the permissions except for schooltool.edit and view | 21:04 |
*** thisfred has left #schooltool | 21:05 | |
*** pcardune has quit IRC | 21:06 | |
povbot | /svn/commits: * ignas committed revision 6240: | 21:18 |
povbot | /svn/commits: Remove various schooltool permissions replacing them with schooltool.edit or schooltool.view. | 21:18 |
povbot | /svn/commits: Add schooltool.editCalendarOverlays (WIP should be replaced with schooltool.edit + ICalendarOverlays adapter) | 21:18 |
*** faassen has quit IRC | 21:20 | |
povbot | /svn/commits: * ignas committed revision 6241: | 21:21 |
povbot | /svn/commits: Oops. This shouldn't be there. | 21:21 |
*** ignas has quit IRC | 21:23 | |
*** gintas_ has joined #schooltool | 22:33 | |
*** gintas_ has quit IRC | 22:38 | |
*** dwoo has quit IRC | 22:40 | |
*** gintas has quit IRC | 22:49 | |
*** Aiste has quit IRC | 23:04 | |
*** mgedmin has quit IRC | 23:46 | |
*** alga has quit IRC | 23:47 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!