srichter | pcardune: not a use case for me | 00:00 |
---|---|---|
srichter | :-) | 00:00 |
pcardune | well, it would have been a use case for my english/math/TOK teacher last year | 00:00 |
pcardune | ok, here is a good example with IB schools | 00:01 |
pcardune | IB grades on a scale of 1-7 | 00:01 |
srichter | honestly, in this case he can keep a spreadsheet himself and convert the grades to the system the school wants | 00:01 |
pcardune | there are assignments mandated by IB that are graded by two different people, the teacher, and some external IB examiner | 00:01 |
srichter | there is no need that SchoolTool needs to know about his system | 00:02 |
srichter | yeah, but all this is far beyond to what I have to fulfill at this point | 00:02 |
pcardune | ok, thats fine | 00:02 |
pcardune | maybe I will implement it on my own later then :) | 00:03 |
pcardune | but yeah, the use case still exists for us | 00:03 |
srichter | ok, in which case the design in st.requirement is good | 00:03 |
pcardune | so if there isn't a huge difference in implimentation difficulty, then I'd like to keep them seperate | 00:04 |
srichter | I think it makes it much more difficult actually | 00:04 |
srichter | for the gradebook | 00:04 |
srichter | but for the gradebook I am writing a new class Activity(Requirement), so I can do what I want | 00:05 |
pcardune | yeah | 00:06 |
pcardune | hmmm | 00:06 |
pcardune | well, what about both? | 00:07 |
pcardune | actually right now in cando, it does both | 00:07 |
srichter | both what? | 00:07 |
pcardune | the scoresystem can either be attached to the evaluation or to the competency/requirement | 00:08 |
pcardune | if it's attached to the evaluation, then that takes precedence | 00:08 |
srichter | I would always attach the scoresystem to the evaluation as well | 00:09 |
srichter | since the teacher might change it and I want to know which one was used when the evaluation was made | 00:09 |
pcardune | well then it seems like we're talking about the same thing | 00:10 |
srichter | I think the evaluation API is all good | 00:10 |
srichter | ok | 00:10 |
srichter | then we are cool | 00:10 |
pcardune | ok, so then when the evaluation is made, the scoresystem is set to be the same as the requirement | 00:11 |
srichter | yep | 00:11 |
pcardune | but if the requirement's scoresystem is changed, the evaluation maintains the original link | 00:11 |
pcardune | ok, yeah i am in total agreement with that | 00:11 |
srichter | yep | 00:11 |
*** povbot has joined #schooltool | 00:18 | |
*** alga_ has joined #SchoolTool | 00:19 | |
*** alga_ has quit IRC | 00:20 | |
srichter | pcardune: do you have a need to sort your requirements? | 00:20 |
pcardune | yes | 00:21 |
srichter | it is clear that you want to be able to do this in the gradebook | 00:21 |
srichter | how do you do this right now? | 00:21 |
pcardune | well, in cando, they are in a list | 00:22 |
pcardune | and that is arbitrarily ordered | 00:22 |
srichter | (I am wondering whether we should support this in the Requirement API or make it a presentation issue) | 00:22 |
srichter | but sub-requirements are implemented as a BTree, which is a mapping | 00:22 |
srichter | but sub-requirements are implemented as a BTreeContainer, which is an unsorted mapping | 00:23 |
pcardune | well the thing is, virginia orders their competencies by these id numbers... but then the those competency groups they are in are ordered by the id numbers of the competencies they contain | 00:23 |
pcardune | meaning, group foo, has competencies 1, 2, and 3. group bar, has competencies 4, 5, and 6 | 00:24 |
pcardune | it's easy to order within the groups based on the id | 00:24 |
pcardune | but foo must always appear before bar | 00:24 |
srichter | yeah, ok, so you are all set | 00:24 |
srichter | I might implement this separately then | 00:26 |
pcardune | am I? how do i sort the groups of competencies then? | 00:26 |
srichter | well, you have ids for those too | 00:26 |
pcardune | if I make a subclass for them | 00:27 |
pcardune | which, i can do... | 00:27 |
srichter | well, the point it that your order is not arbitrary | 00:28 |
srichter | it is well defined | 00:28 |
srichter | so in your UI you can always do a sort | 00:28 |
srichter | in a gradebook, as you might imagine, the order is defined by the user | 00:28 |
srichter | so this info has to be sotred somewhere | 00:29 |
srichter | so this info has to be stored somewhere | 00:29 |
pcardune | well i'd like that capability also | 00:29 |
pcardune | it's only not arbitrary the way virginia does it | 00:29 |
srichter | ok, I think about it | 00:30 |
*** alga has quit IRC | 00:30 | |
srichter | All it should take is that IRequirement inherits IOrderedContainer instead of IContainer | 00:30 |
*** povbot` has quit IRC | 00:30 | |
pcardune | right | 00:31 |
pcardune | we can sort arbitrarily ordered containers however we like in the UI, but we can't make unordered containers arbitarily ordered with the UI | 00:33 |
srichter | yep | 00:34 |
pcardune | so, in your gradebook implementation, are you going to have activities with subactivities? and will you have two different subclasses of Requirement for them? | 00:48 |
srichter | no | 00:48 |
srichter | I only need a base Requirement that is stored directly in the annotation | 00:49 |
srichter | and this requirement contains all activities | 00:49 |
srichter | and activities can only be declared for courses and sections in the gradebook case | 00:49 |
pcardune | but how are you going to configure it with zcml? If I use a similar methodology, then the configurations will contradict each other | 00:51 |
pcardune | we can't both register views for IRequirement | 00:51 |
srichter | I register everything on higher-level APIs | 00:51 |
srichter | like IActivities, IActivity, IGradebook, etc | 00:52 |
srichter | don't worry, I will not be in your way | 00:52 |
pcardune | but then, will you have an Activities class that implements IActivities and is a subclass of Requirement? | 00:53 |
srichter | no, it will just use the Requirement | 00:53 |
srichter | maybe it will inherit it I am not sure, but either way it will not matter | 00:54 |
srichter | because I never register anything for IRequirement | 00:54 |
srichter | actually, I just looked at my Sci-Fi and had made up my mind already | 00:54 |
srichter | Activities will inherit Requirement | 00:55 |
pcardune | so then you are in fact making two subclasses of Requirement... one for Activities and one for Activity | 00:56 |
srichter | right | 00:57 |
srichter | in fact I might call Activities -> Gradebook | 00:57 |
pcardune | ok, it just seems counterintuitive to me to make a subclass of Requirement that in no way extends it... except for purposes of having different views | 00:57 |
pcardune | but maybe this is a common practice in Zope3? | 00:58 |
srichter | yep, prime example are containers | 00:58 |
pcardune | ok | 00:59 |
srichter | although I note that Gradebook and Activity does extend Requirement | 00:59 |
srichter | Activity will also store the score system | 00:59 |
srichter | Gradebook will store weight scale and maybe some other stuff | 00:59 |
pcardune | i thought we had agreed that Requirement should store score system also? | 01:00 |
*** th1a has joined #schooltool | 01:00 | |
srichter | oh, I did not realize that we did due to your requirements | 01:00 |
srichter | I think it is safer if we don't | 01:00 |
srichter | we can move it any time | 01:01 |
pcardune | but remember, we were talking about the same thing? | 01:01 |
srichter | I know | 01:01 |
srichter | oh ok | 01:01 |
srichter | right, I see what you are saying | 01:01 |
srichter | though I still think there are use cases where you want it separate | 01:02 |
pcardune | well, if you want it seperate, then the UI can handle that | 01:02 |
pcardune | it can just automatically reset the evaluation's scoresystem | 01:02 |
srichter | yep, for you this is certainly the case | 01:02 |
srichter | since you really have only one score system for all competencies | 01:03 |
srichter | my case is the opposite; I have pretty much a different score system for each activity | 01:03 |
pcardune | either way, storing scoresystem in the Requirement object works for both of us | 01:05 |
pcardune | oh wait a second | 01:05 |
pcardune | no no, it does work | 01:05 |
pcardune | so long as it can inherit the score system from it's parent requirement | 01:06 |
srichter | he he, and that's the reason we are not going to do it now :-) | 01:06 |
srichter | because what happends if you have multiple parents/bases? | 01:07 |
srichter | which one do you choose? | 01:07 |
pcardune | ooo | 01:07 |
pcardune | it only ever has one parent | 01:08 |
pcardune | so you use that one | 01:08 |
srichter | huh? | 01:09 |
srichter | we are supporting multiple bases | 01:09 |
pcardune | multiple bases, but not multiple parents | 01:09 |
srichter | but what is the parent of a requirement? | 01:10 |
srichter | ok, never mind | 01:10 |
srichter | I see what you are saying | 01:10 |
srichter | my bad | 01:10 |
srichter | you are right | 01:10 |
pcardune | ok, you have requirement program, with sub requirement forloop, then you have requirement pyprogram with subrequirement iterator, program is a base of pyprogram | 01:10 |
pcardune | so when you look up requirements of pyprogram, you will get forloop | 01:10 |
pcardune | but when you score it, you will use the score system defined by program, not pyprogram | 01:11 |
pcardune | and for iterator, you will use the score system defined my pyprogram | 01:11 |
pcardune | s/my/by | 01:11 |
srichter | right | 01:12 |
pcardune | so then, we should have requirement store scoresystem, and also be able to get it from it's parent | 01:13 |
pcardune | what's the term they use for that all over zope2? | 01:13 |
pcardune | acquisition | 01:13 |
srichter | acquisition | 01:13 |
pcardune | that's what i'm thinking of | 01:13 |
srichter | pcardune: still there, because you left zope3-dev | 01:16 |
pcardune | yep | 01:16 |
srichter | ok | 01:17 |
pcardune | srichter: I'm going to leave the RequirementView class in schooltool because I think it provides some decent functionality that others might want to use someday | 01:55 |
pcardune | it's based off of an example in your book! | 01:56 |
srichter | he he | 01:56 |
srichter | ok sounds good | 01:56 |
pcardune | srichter: ayt? | 02:59 |
*** didymo has joined #schooltool | 03:10 | |
srichter | pcardune: yep | 03:30 |
pcardune | I wanted to make a menu item with an action of ++competencies++ | 03:31 |
pcardune | but it in getting the menu items, it makes sure they work by calling them | 03:31 |
pcardune | of course, ++competencies++ traverses to the competencies object, for which calling is forbidden | 03:32 |
pcardune | can you make a menu item that is just a plain link? | 03:32 |
pcardune | oh wait... maybe i just need to make the action ++competencies++/@@index.html | 03:32 |
pcardune | i always seem to figure it out right after I ask someone.... | 03:38 |
srichter | :-) | 03:38 |
pcardune | ok, but i'm still have trouble with dealing with inherited requirements | 03:38 |
pcardune | i'll do some debugging | 03:38 |
pcardune | and maybe get back to you if i can't figure it out | 03:39 |
srichter | ok, sounds good | 03:39 |
srichter | th1a: any idea when you will come over tomorrow? | 03:39 |
pcardune | I finally looked at a tutorial on how to really use the pdb... soo good... why didn't i know this 4 years ago?! | 03:41 |
pcardune | i guess that is jelkner's fault... ha ha... if the pdb even existed back then | 03:41 |
srichter | he he | 03:48 |
srichter | I think it is around forever | 03:48 |
srichter | pcardune: if you use WingIDE, the debugger is even mcuh better | 03:49 |
pcardune | ooo... that's bad that he doesn't teach his kids to use it... | 03:49 |
pcardune | yeah... i'll get WingIDE after I get some more ram for my laptop | 03:49 |
pcardune | 256 just won't do it if i am running two zope3 servers at the same time and a bunch of KDE apps | 03:50 |
pcardune | i look at my CPU usage and it is 20 percent. while the hard drive is being read like crazy... hmmm... swap is slow | 03:50 |
th1a | srichter: Lunchtime? | 03:51 |
th1a | 11:00? | 03:51 |
srichter | soudns good to me | 03:52 |
srichter | any time after 7:30 is okay with me :-) | 03:52 |
th1a | I'll have a long day, so I can't get up too early. | 03:52 |
pcardune | srichter: our Requirement keys method is broken :) | 03:53 |
pcardune | if creates a set of keys... but keys are not unique among all requirements | 03:53 |
srichter | mmh, how so? | 03:55 |
pcardune | i have two requirements: somecourse/++comp++/testComp and global/++comp++/testComp | 03:56 |
pcardune | if the second is a base of the first | 03:56 |
pcardune | then calling keys on the first will return a set with one value, 'testComp' | 03:56 |
pcardune | the key isn't good enough, we need the entire path | 03:57 |
srichter | right | 03:57 |
pcardune | a key is only unique within it's containers | 03:57 |
srichter | of course | 03:57 |
pcardune | s/containers/container | 03:57 |
srichter | that's why it is called a nmae and not an id | 03:58 |
pcardune | unfortunately, and i found this out earlier, we can't use python's fun id() because it doesn't work on persistent objects apparently | 03:58 |
srichter | right | 03:59 |
pcardune | do you have any suggestions of the proper way to do this? | 03:59 |
srichter | note that there is an intid utility in Zope 3 that does what you want | 03:59 |
pcardune | oh, i wasn't familiar with that | 04:00 |
srichter | zope.app.intid | 04:00 |
pcardune | so, I will change it to use that instead of the keys | 04:00 |
*** th1a has left #schooltool | 04:01 | |
pcardune | wow... old style unit tests are just horrifying to look at | 04:01 |
srichter | yep | 04:02 |
pcardune | you wouldn't happen to know where I could find some decent docs on IntId specifically? | 04:09 |
srichter | nope | 04:10 |
srichter | you could write some while learning it :-) | 04:10 |
srichter | basically, what it boild down to is you feed it an object and it gives you a system-wide unique id | 04:11 |
srichter | u = InIds() | 04:11 |
pcardune | right, except it seems strange that you have to instantiate IntIds to use that | 04:11 |
srichter | uid - u.register(obj) | 04:11 |
srichter | well you have to store it locally too | 04:12 |
srichter | of course you have to instantiate it | 04:12 |
srichter | the utility stores the mapping | 04:12 |
srichter | uid -> obj and obj -> uid | 04:12 |
pcardune | I'd think it would be something done for everything in the entire zodb | 04:12 |
pcardune | so that everything implicitly has a unique id | 04:13 |
srichter | well, first of all, Zope 3 should not depend on ZODB features | 04:13 |
pcardune | mmm... i suppose that is true | 04:14 |
srichter | and second I think that there is something strange about the oid changing sometimes | 04:14 |
pcardune | so IntIds is a utility, and i dont have to keep an instance around after i have registered my object | 04:15 |
pcardune | right? | 04:16 |
srichter | no | 04:16 |
srichter | you have to keep it around | 04:16 |
srichter | it is a local utility | 04:16 |
srichter | it has to be stored in the site management folder | 04:17 |
pcardune | ahh... i skimed the global utility chapter of your book... woops | 04:17 |
srichter | you should have read on to the local utility | 04:21 |
pcardune | blargh, i just need an example of where it has been used before | 04:26 |
pcardune | did you say you knew a program for searching within lots ot text files? | 04:26 |
srichter | well, the catalog/index code uses it | 04:31 |
srichter | it was developed for it | 04:31 |
pcardune | thanks | 04:35 |
povbot | /svn/commits: * srichter committed revision 5592: | 05:10 |
povbot | /svn/commits: It's decorator time; groovy. | 05:10 |
povbot | /svn/commits: * srichter committed revision 5593: | 05:11 |
povbot | /svn/commits: Initial design ideas. | 05:11 |
*** pcardune has left #schooltool | 05:23 | |
*** th1a has joined #schooltool | 05:54 | |
*** Aiste has joined #schooltool | 10:58 | |
*** Aiste has quit IRC | 11:28 | |
*** vidasp has joined #schooltool | 12:25 | |
*** mgedmin has joined #schooltool | 12:46 | |
*** alga has joined #SchoolTool | 13:04 | |
*** Aiste has joined #schooltool | 13:35 | |
*** Aiste has quit IRC | 13:41 | |
*** mgedmin has quit IRC | 14:03 | |
*** ignas has joined #schooltool | 14:16 | |
*** pcardune has joined #schooltool | 14:25 | |
*** jinty has joined #schooltool | 14:29 | |
*** jinty has joined #schooltool | 14:31 | |
*** mgedmin has joined #schooltool | 14:37 | |
*** thisfred has joined #schooltool | 15:09 | |
povbot | /svn/commits: * mg committed revision 5594: | 15:13 |
povbot | /svn/commits: Days in timetables and timetable schemas now have a homeroom_period_id attribute. | 15:13 |
pcardune | srichter: ok, i read both of the chapters on utilities in full. I'm still confused as to how I register the IIntIds utility, or where it has to be instantiated to that zapi.getUtility will look it up | 15:25 |
pcardune | s/to/so | 15:26 |
pcardune | ok, lunchtime, i'll be back in 30-45 mins | 15:27 |
*** mgedmin has quit IRC | 16:04 | |
pcardune | ok, i'm back | 16:04 |
*** mgedmin has joined #schooltool | 16:07 | |
*** erchache has joined #schooltool | 16:11 | |
erchache | hi | 16:12 |
erchache | what happs with interlingua? | 16:12 |
*** Aiste has joined #schooltool | 16:25 | |
*** erchache has quit IRC | 16:32 | |
*** erchache has joined #schooltool | 16:33 | |
erchache | hi again | 16:34 |
povbot | /svn/commits: * mg committed revision 5595: | 16:37 |
povbot | /svn/commits: Add an overview of the timetable schema wizard functional test. Scale down the images. | 16:37 |
povbot | /svn/commits: A good way to make sense out of this ftest is to download restviewhttp.py from http://mg.pov.lt/restview/ and run restviewhttp.py ttschema-wizard.txt | 16:37 |
*** th1a has quit IRC | 16:42 | |
povbot | /svn/commits: * mg committed revision 5596: | 16:46 |
povbot | /svn/commits: Move all images into a subdirectory, so they do not clutter the ftests package. | 16:46 |
povbot | /svn/commits: * mg committed revision 5597: | 16:55 |
povbot | /svn/commits: Add a script to update the images. | 16:55 |
povbot | /svn/commits: Usually comitting generated files into a source control repository is a Bad Idea, but not doing that would introduce an unnecessary dependency on graphviz and ImageMagick. | 16:55 |
povbot | /svn/commits: * mg committed revision 5598: | 16:58 |
povbot | /svn/commits: Eradicate evil TAB characters. | 16:58 |
povbot | /svn/commits: * ignas committed revision 5599: | 17:02 |
povbot | /svn/commits: Replaced CalendarListView with an identical subscriber. | 17:02 |
pcardune | ok srichter, i've really gotten deep into this, and now I finally figured out how to use IntIds, but now it's claiming that it can't adapt a Requirement to IKeyReference, except that there is already an adapter for IPersisten->IKeyReference | 17:18 |
povbot | /svn/commits: * mg committed revision 5600: | 18:11 |
povbot | /svn/commits: Convert old-style http("...") bits into testbrowser code that is used for the rest of the functional test. | 18:11 |
povbot | /svn/commits: * mg committed revision 5601: | 18:15 |
povbot | /svn/commits: Indentation consistency. | 18:15 |
povbot | /svn/commits: * mg committed revision 5602: | 18:19 |
povbot | /svn/commits: Update the test plan to include the new homeroom steps. Add the "do you have a homeroom?" question step to the timetable wizard. | 18:19 |
pcardune | mgedmin: Can you think of any reason why schooltool components would not be adaptable to IKeyReference? | 18:23 |
*** th1a has joined #schooltool | 18:23 | |
pcardune | whois th1a | 18:24 |
pcardune | woops | 18:25 |
th1a | You know who I am. | 18:25 |
pcardune | i was just looking to see if you were at stephan's place | 18:25 |
th1a | erchache: I need to talk to bskahan about the server setup. | 18:26 |
srichter | pcardune: the adapter from IPersistent to IKeyReference does not seem to be regiatered | 18:26 |
erchache | th1a: ok | 18:26 |
srichter | I cannot see it in configure.zcml | 18:26 |
erchache | when are avalaible? | 18:26 |
pcardune | srichter: it's registered in zope/app/keyreference/configure.zcml | 18:27 |
th1a | erchache: I would think next week. | 18:27 |
erchache | ok :-D | 18:27 |
*** erchache has quit IRC | 18:31 | |
*** erchache has joined #schooltool | 18:33 | |
srichter | pcardune: oh ok | 18:34 |
srichter | oh I know | 18:35 |
srichter | zope.appkeyrefernce's ZCML is not loadde in schooltool | 18:35 |
pcardune | why not? isn't like the entire zope.app zcml loaded in schooltool? | 18:36 |
pcardune | ok, well i will add it to schooltool/configure.zcml then | 18:36 |
mgedmin | pcardune, what's IKeyReference? | 18:36 |
pcardune | mgedmin: some interface that an object needs to implement for it to have a unique id using IntIds | 18:37 |
pcardune | that's as much as I know at this point about it | 18:39 |
povbot | /svn/commits: * mg committed revision 5603: | 18:58 |
povbot | /svn/commits: The timetable wizard now has a working step for selecting homeroom periods. It does not save the information in the created timetable schema yet. | 18:58 |
*** Aiste has quit IRC | 19:31 | |
*** jinty has quit IRC | 19:46 | |
povbot | /svn/commits: * mg committed revision 5604: | 20:01 |
povbot | /svn/commits: Oops. Fix two broken ftests. | 20:01 |
povbot | /svn/commits: * mg committed revision 5605: | 20:02 |
povbot | /svn/commits: Expose timetable homeroom periods via the RESTive views. | 20:02 |
povbot | /svn/commits: (I am not proud of the convoluted TALES expression that sets that attribute. I am unsure if the "version number" in the XML namespace should be increased or not.) | 20:02 |
povbot | /svn/commits: * ignas committed revision 5606: | 20:34 |
povbot | /svn/commits: Modified the IAttendance.makeCalendar to take no arguments. Added a ICalendarProvider subscriber that provides attendance calendars. | 20:34 |
erchache | th1a: what is bskahan email? | 20:35 |
erchache | i dont have this... | 20:35 |
th1a | I sent him an email last night. | 20:36 |
erchache | ok...but i want to have it | 20:36 |
erchache | can you tell me? | 20:36 |
erchache | th1a | 20:37 |
th1a | um... | 20:37 |
erchache | any problem? :-S | 20:39 |
povbot | /svn/commits: * mg committed revision 5607: | 20:39 |
povbot | /svn/commits: Refactor period name computation when periods are designated by time. | 20:39 |
povbot | /svn/commits: * ignas committed revision 5608: | 20:48 |
povbot | /svn/commits: Registered the subscriber that provides attendance calendars. | 20:48 |
erchache | bye...see tomorrow! | 20:50 |
*** erchache has quit IRC | 20:50 | |
th1a | pcardune: I'm working on a final revision of my presentation on evaluation. I'll send it to you shortly and see if you have any feedback. | 20:59 |
pcardune | th1a: ok | 21:00 |
pcardune | srichter: I think i nearly figured out the whole IntIds thing, but we need to rethink our implementation of IContainer in Requirement | 21:02 |
srichter | why? | 21:05 |
pcardune | what does keys() return? a list of keys, which are __name__ attributes? or a list of unique ids? | 21:06 |
pcardune | how about __getitem__, does it take __name__ attributes as the key, or unique ids as the key? | 21:06 |
srichter | keys() always returns the name of the requirement, not the id | 21:07 |
srichter | because any key returned must be a valid value for __getitem__ | 21:07 |
srichter | I think our implementation of keys is just fine | 21:08 |
pcardune | right, but keys also looks into the bases, but they keys are not unique between all the bases | 21:08 |
pcardune | that is the whole reason we needed unique Ids | 21:08 |
srichter | oh, darn | 21:09 |
pcardune | so, i propose that we just reuse the Container or BTreeContainer implementation of IContainer, and then add a method for getting inherited requirements | 21:09 |
povbot | /svn/commits: * mg committed revision 5609: | 21:10 |
povbot | /svn/commits: Finished homeroom work in the ttschema wizard: it now stores your selection in the data structure. Changed the wizard to only show those periods that are actually present in a day in the dropdown. | 21:10 |
srichter | shrug | 21:10 |
*** ignas has quit IRC | 21:10 | |
pcardune | so, keys and items and values and such, will return objects in requirement | 21:10 |
srichter | but that removes the transparency that we wanted | 21:11 |
srichter | I have to think about that | 21:11 |
srichter | I am not sure I agree | 21:11 |
pcardune | i would like the transpareny too | 21:11 |
pcardune | but implementing that becomes a lot more difficult when we have to deal with keys and ids | 21:11 |
srichter | in this case I'd rather reimplement the keys and getitem methods | 21:11 |
pcardune | the question is how | 21:12 |
srichter | please produce a test that fails in the README.txt and then comment it out | 21:12 |
pcardune | ok | 21:12 |
pcardune | i'll work on that now | 21:13 |
srichter | thanks | 21:13 |
*** srichter has quit IRC | 21:26 | |
povbot | /svn/commits: * pcardune committed revision 5610: | 21:32 |
povbot | /svn/commits: added a commented out failing test for inheritence with conflicting keys | 21:32 |
pcardune | th1a: just fyi, i gotta be out of here in 30 minutes to go out to dinner | 21:33 |
th1a | pcardune: Well, I'm almost done, but by the time I wrap it all up and get it to you, it'll be too late. | 21:33 |
th1a | So don't worry about it. | 21:33 |
pcardune | that's fine | 21:33 |
th1a | You and Stephan ended up talking so much the past couple days that a special meeting wasn't necessary. | 21:34 |
*** srichter has joined #schooltool | 21:34 | |
th1a | He and I went over the SIF stuff this morning. It doesn't look like there is any problem there. | 21:34 |
*** _pcardune has joined #schooltool | 21:38 | |
*** pcardune has quit IRC | 21:41 | |
*** srichter has joined #schooltool | 21:47 | |
*** mhz has joined #schooltool | 21:53 | |
_pcardune | srichter: the failing test is in the repo | 21:54 |
mhz | hi all | 21:54 |
_pcardune | hi mhz | 21:54 |
mhz | is part of the roadmap to incroporate Moodle or Claroline with Schooltool? | 21:54 |
mhz | hi _pcardune | 21:55 |
th1a | At this point, I'm waiting to see what web services arrive in Moodle 1.6. | 21:55 |
th1a | Although the roadmap seems pretty vague other than "there will be webservices in Moodle 1.6." | 21:55 |
th1a | It isn't clear when Moodle 1.6 is supposed to arrive. | 21:56 |
th1a | But yes, Moodle integration is an important feature. | 21:57 |
th1a | We use different underlying technologies, so web services would be the best option. | 21:57 |
mhz | th1a: more than Claroline? | 21:58 |
srichter | _pcardune: I think the easy solution to our problem is to make setitem more restrictive | 21:58 |
th1a | mhz: Personally, I talk to more Moodle users, but Moodle is bigger here in the US. | 21:59 |
mhz | other q. From Edubuntu... which port is schooltool running? | 21:59 |
th1a | The open source LMS market in kind of regional. | 21:59 |
mhz | and what infor I need for login? | 21:59 |
mhz | th1a: indeed | 21:59 |
th1a | 7080 login:manager passwd:schooltool | 21:59 |
mhz | th1a: IMHO Claroline and Moodle are the ones best fitting universality | 22:00 |
_pcardune | srichter: what about setitem do you want to change? | 22:00 |
_pcardune | srichter: restricting setitem means restricting urls | 22:00 |
srichter | yep | 22:01 |
mhz | th1a: hmmm. ''connection refused when attemting to contact 7080" :( | 22:02 |
mhz | any ideas? it's there and running AFAIK | 22:02 |
th1a | Hmm... | 22:02 |
_pcardune | srichter: so then, it would only allow names/keys that are unique among all the requirements on the server? | 22:03 |
srichter | no, only unique in you inheritance tree | 22:03 |
th1a | mhz: 7180? | 22:04 |
th1a | Can you do 'sudo /etc/init.d/schooltool restart' | 22:04 |
srichter | you know I am actually surprised that we get this failure | 22:04 |
srichter | _pcardune: isn't this like overriding an inherited requirement? | 22:04 |
_pcardune | yeah | 22:05 |
_pcardune | it is | 22:05 |
srichter | so the local version should win | 22:05 |
_pcardune | and it does... | 22:05 |
_pcardune | except we don't want them to be overridden | 22:05 |
srichter | really? | 22:06 |
srichter | I thought we do | 22:06 |
_pcardune | well maybe... but then we want extra permissions for overriding | 22:07 |
srichter | mmh, I thought this was a clear promise of the API | 22:08 |
_pcardune | and also, what happens when bases are added, and the prexisting requirements conflict | 22:08 |
srichter | then the local old one always wins | 22:09 |
*** pcardune has joined #schooltool | 22:10 | |
*** tiredbones has quit IRC | 22:10 | |
*** mhz has quit IRC | 22:10 | |
pcardune | power went out | 22:10 |
srichter | then the local old one always wins | 22:11 |
srichter | so the current behavior of values is incorrect | 22:12 |
srichter | it gets the global goodPerson, but should get the local one | 22:12 |
pcardune | no, it gets the local one | 22:12 |
srichter | nope | 22:13 |
*** vidasp has quit IRC | 22:13 | |
srichter | I just ran your test and it got the global one | 22:13 |
pcardune | Failed example: | 22:13 |
pcardune | print localCitizenship.values() | 22:13 |
pcardune | Expected: | 22:13 |
pcardune | <BLANKLINE> | 22:13 |
pcardune | ...Requirement(u'Be a good person globally.')... | 22:13 |
pcardune | Got: | 22:13 |
pcardune | [Requirement(u'Be a good person locally.')] | 22:13 |
pcardune | look at got... it got the local one | 22:13 |
srichter | I have: | 22:14 |
srichter | Failed example: | 22:14 |
srichter | print localCitizenship.values() | 22:14 |
srichter | Expected: | 22:14 |
srichter | [Requirement(u'Be a good person globally.')] | 22:14 |
srichter | Got: | 22:14 |
srichter | [InheritedRequirement(Requirement(u'Be a good person globally.'))] | 22:14 |
srichter | oops, I mean: | 22:14 |
srichter | oh, hold on | 22:14 |
*** _pcardune has quit IRC | 22:15 | |
srichter | pcardune: ok, so we get the same result | 22:15 |
srichter | (sorry) | 22:15 |
srichter | I think it behaves correctly | 22:15 |
pcardune | in any case, there should at very least be a screen that checks with the user whether they *really* want to override another requirement | 22:15 |
srichter | yeah, you can do this in the UI easily | 22:16 |
srichter | Another option would be to disallow this sort of thing, but as you pointed out this opens a can of worms I do not want to open | 22:17 |
pcardune | and then what about when bases are later added and there are conflicting requirements... then i suppose the user would be presented with a list of conflicts and be able to select which ones to override? | 22:17 |
srichter | and it currently behaves exactely like inheritance or acquisition | 22:17 |
srichter | yep | 22:17 |
pcardune | ok fair enough then | 22:17 |
pcardune | well... at least i know a little bit more about some random zope thing | 22:18 |
pcardune | and utilities | 22:18 |
srichter | :-) | 22:18 |
srichter | brb | 22:20 |
*** srichter has quit IRC | 22:20 | |
*** mhz has joined #schooltool | 22:23 | |
pcardune | i've got to go to dinner. bye all | 22:24 |
*** pcardune has quit IRC | 22:24 | |
*** thisfred has quit IRC | 22:25 | |
*** mhz has quit IRC | 22:33 | |
*** srichter has joined #schooltool | 22:48 | |
*** mhz has joined #schooltool | 22:51 | |
*** mhz has quit IRC | 23:01 | |
*** alga has quit IRC | 23:16 | |
*** th1a has quit IRC | 23:19 | |
*** mgedmin has quit IRC | 23:19 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!