*** alga has joined #schooltool | 00:32 | |
*** ignas has quit IRC | 00:33 | |
*** ignas has joined #schooltool | 00:44 | |
*** menesis has quit IRC | 01:14 | |
*** ignas has quit IRC | 03:32 | |
*** alga has quit IRC | 03:44 | |
*** ignas has joined #schooltool | 03:45 | |
*** ignas has quit IRC | 05:37 | |
*** yvl has joined #schooltool | 08:12 | |
*** menesis has joined #schooltool | 12:42 | |
*** alga has joined #schooltool | 13:15 | |
*** menesis has quit IRC | 13:57 | |
*** ignas has joined #schooltool | 14:29 | |
*** menesis has joined #schooltool | 15:05 | |
*** th1a has joined #schooltool | 16:09 | |
*** replaceafill has joined #schooltool | 16:19 | |
th1a | Hi aelkner_, replaceafill, yvl, menesis. | 16:31 |
---|---|---|
* th1a is back from the dead. | 16:31 | |
aelkner_ | morning | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
yvl | morning :) | 16:31 |
menesis | hi. | 16:31 |
aelkner_ | and the steelers have died and gone to heaven | 16:31 |
yvl | glad to hear, th1a :) | 16:32 |
th1a | And I'm going to have to figure out how to watch the Super Bowl in Portugal. | 16:32 |
th1a | That was the nastiest cold I've had in years. | 16:33 |
th1a | OK, did you guys read aelkner_'s email about report registration? | 16:34 |
yvl | yep | 16:34 |
replaceafill | yes | 16:34 |
th1a | Any issues? | 16:34 |
yvl | hmm | 16:35 |
replaceafill | my only comment: | 16:35 |
replaceafill | aelkner_, if you're going to sort things by title, use the ICollator adapter | 16:35 |
yvl | :) | 16:36 |
aelkner_ | why is that? | 16:36 |
replaceafill | aelkner_, so things are ordered appropriately according to user's locale | 16:36 |
yvl | some of the languages in this world do not use the latin alphabet | 16:36 |
aelkner_ | ah | 16:36 |
yvl | :) | 16:36 |
replaceafill | am i right, yvl? | 16:37 |
aelkner_ | can you point me to an example use of IColattor? | 16:37 |
yvl | CoursesViewlet, for example | 16:37 |
yvl | GroupsViewlet, etc... | 16:38 |
replaceafill | schooltool.lyceum.journal/src/schooltool/lyceum/journal/browser/journal.py | 16:38 |
replaceafill | LyceumSectionJournalView.members | 16:38 |
aelkner_ | ok, thanks | 16:38 |
yvl | and just to keep in mind, schooltool.table has LocaleAwareGetterColumn | 16:39 |
yvl | it was a bit odd that you want to use utilities there, though | 16:39 |
yvl | I'm probably not grasping the whole design | 16:40 |
th1a | yvl: Utilities vs what? | 16:40 |
yvl | vs viewlet managers | 16:40 |
aelkner_ | viewlet managers?! | 16:41 |
th1a | yvl: Yeah, I think you're missing the point. | 16:42 |
yvl | I thought you just wanted to register lists of links to reports on some pages? | 16:42 |
yvl | starting with Manage->Reports | 16:42 |
yvl | then maybe adding to teachers' home pages, etc.? | 16:43 |
yvl | maybe I missed something, but I failed to see what specifying the interface for the utility gives us | 16:44 |
yvl | I'm probably missing the point | 16:45 |
th1a | Well, I want a clear way to plug in new reports. | 16:45 |
yvl | in my head, reports are not physical objects, they are simply views - pdf, but coulde be xls, csv or anything else | 16:45 |
yvl | so in essence it's all about navigation | 16:46 |
yvl | can you elaborate a little | 16:46 |
menesis | I think an adapter is enough, don't need a named utility | 16:46 |
th1a | Yes, they are just views, but to the local user they are the whole point of the system. | 16:47 |
yvl | I understand | 16:47 |
th1a | I mean, it is sort of a question of semantics. | 16:47 |
yvl | yes | 16:47 |
yvl | don't take me wrong, aelkner_, I'm not rejecting your idea :) | 16:48 |
th1a | I think it is a little clearer for future users/developers to be extra-explicit about registering reports. | 16:48 |
yvl | (and I liked the "originally I thought..." part) | 16:48 |
th1a | Yes, there is a lot more we can do with this. | 16:49 |
th1a | OK, I think we can move on. | 16:49 |
yvl | ok | 16:49 |
aelkner_ | regarding utilities versus adapters: | 16:49 |
aelkner_ | the reason i chose the former is that utilities can be added dynamically to the site manager by a user | 16:49 |
aelkner_ | in the case of user-defined reports | 16:50 |
aelkner_ | i didn't mention that in my note because we don't have a plan for that | 16:50 |
aelkner_ | but as with our custom score systems, the user can't create adapters | 16:50 |
aelkner_ | but they can create utilities if we provide the mechanism | 16:50 |
yvl | umm, ok, but the part I did not understand, was that utilities have title, description and interface | 16:50 |
yvl | what title and description gives us, I get | 16:51 |
yvl | what's the profit of interface... | 16:51 |
yvl | I'm a bit confused | 16:51 |
aelkner_ | the interface is the context type of the object against which the report runs | 16:51 |
aelkner_ | there are schoolyear reports, group reports, term reports, etc. | 16:51 |
aelkner_ | so, ISchoolYear, IGroup, ITerm would be the interface values in those cases | 16:52 |
yvl | I get that part | 16:52 |
yvl | what I don't understand is how precisely you are going to use it | 16:52 |
yvl | so I'll just have to wait and see ;) | 16:53 |
aelkner_ | for now, the interface will be used to generate the link | 16:53 |
yvl | how? | 16:53 |
replaceafill | aelkner_, how will you know from the interface which person i want to generate the report on? | 16:53 |
aelkner_ | well, for that i can write an adapter that adapts the interface to the link | 16:53 |
yvl | no, you cannot | 16:53 |
yvl | you can write an adapter, that adapts an object that implements the interface | 16:54 |
yvl | not the interface itself | 16:54 |
yvl | and why not just... include the link in the utility? | 16:54 |
yvl | and then reuse the OrderedViewletManager for "utility" (in that case viewlet) collection and sorting?.. | 16:55 |
yvl | it's probably all clearer in your head :) | 16:55 |
aelkner_ | i don't understand this OrderedViewletManager idea you mention here | 16:56 |
aelkner_ | i just need to list links in a table | 16:56 |
aelkner_ | just like we do with the person container view | 16:56 |
aelkner_ | and the links need to navigate the user to the context | 16:56 |
aelkner_ | also, the utilities are defined for the convenience of the packages that define the reports | 16:57 |
aelkner_ | they don't need to know about the reports view, they just need to register themselves | 16:57 |
th1a | I just want all this to operate at a lower, more abstract level. | 16:58 |
aelkner_ | it's the reports view that figures out the links based on the interface | 16:58 |
yvl | ok guys, sorry for spreading confusion | 16:58 |
yvl | I'll just wait for the code - no sense in wasting everybody's meeting time :) | 16:58 |
yvl | I really do not get the implementation you wrote about | 16:58 |
th1a | No problem. I don't think we have a lot of other things to talk about. | 16:59 |
* replaceafill is definitely confused :( | 16:59 | |
aelkner_ | if util.interface == ISchoolYear: | 16:59 |
yvl | oh boy... | 16:59 |
aelkner_ | link = absoluteurl(activie_year, request) | 16:59 |
yvl | please, please change it to: | 16:59 |
yvl | util.link = absoluteurl(activie_year, request) | 16:59 |
aelkner_ | no, no, no | 17:00 |
aelkner_ | the utility is defined in the package where the report lives | 17:00 |
aelkner_ | it doesn't know about any stinking links created in some other view | 17:00 |
aelkner_ | it only knows about itself | 17:00 |
aelkner_ | the reports view can figure out the links based on the interface defined in the utilitly | 17:01 |
yvl | where are you going to put the if? | 17:01 |
aelkner_ | in the reports view | 17:01 |
aelkner_ | it's a table view | 17:02 |
yvl | so, if you need to register, say, schooltool.intervention reports | 17:02 |
yvl | you will import schooltool.intervention in schooltool/reports/... ? | 17:02 |
aelkner_ | no, of course not | 17:02 |
yvl | ok | 17:02 |
aelkner_ | the utility defined in schooltool.intervention | 17:02 |
aelkner_ | (we don't have any intervention reports, but if we did) | 17:03 |
yvl | let's say, gradebook | 17:03 |
yvl | we do have gradebook reports | 17:03 |
aelkner_ | the interface would probably be ISchoolYear or IBasicPerson | 17:03 |
replaceafill | aelkner_, could you use the student report card as an example? | 17:03 |
aelkner_ | i already did in my note | 17:03 |
replaceafill | student report card for th1a | 17:03 |
aelkner_ | how is this not clear? | 17:03 |
aelkner_ | ok, the interface would be IBasicPerson | 17:03 |
yvl | where does the link come from | 17:04 |
yvl | basic person, ok | 17:04 |
aelkner_ | schoool/report/browser/reference.py | 17:04 |
yvl | what if we don't want to add IBasicPerson | 17:04 |
yvl | but instead | 17:04 |
yvl | we want to add something crazy, as... | 17:04 |
th1a | Probably the issue is that this does much LESS than yvl thinks. | 17:04 |
yvl | intervention InterventionStudent? | 17:04 |
yvl | where are you going to put the link then? | 17:05 |
yvl | so that the link takes you directly to the intervention centre | 17:05 |
aelkner_ | no, IBasicPerson | 17:05 |
aelkner_ | the user is navigated to the person container | 17:06 |
aelkner_ | they select the person | 17:06 |
th1a | At this point you still have to navigate yourself. | 17:06 |
aelkner_ | the person context already has a Reports action link | 17:06 |
yvl | then I really don't get why invent stuff with utilities and it's interface and the "if == ISomething" | 17:07 |
yvl | instead of plain navigation viewlet | 17:07 |
aelkner_ | navigation viewlet?! | 17:07 |
yvl | yes | 17:07 |
yvl | ok, just a viewlet | 17:07 |
yvl | just that we have a handy directive there, that's it | 17:08 |
aelkner_ | Manage->Reports is a link that needs to bring up a view, right? | 17:08 |
yvl | yes | 17:08 |
replaceafill | i get that :) | 17:08 |
th1a | This is to me a foundational object that a lot of features may be hung on in the future. | 17:08 |
yvl | and in that view, you render a viewlet manager | 17:08 |
yvl | like we do for links in schoolyear | 17:08 |
yvl | but this manager can be more sophisticated | 17:08 |
yvl | with filtering and such | 17:08 |
aelkner_ | for user defined reports (something that we could allow in the future) | 17:09 |
aelkner_ | how does a user reigister a viewlet? | 17:09 |
yvl | zcml | 17:09 |
aelkner_ | users can't regster zcml, they just click around in schooltool | 17:10 |
replaceafill | aelkner_, the user doesnt have to register the utility or adapter directly | 17:10 |
replaceafill | aelkner_, like with score systems, he can create an object, and some piece of code could look into a container and the use those objects as utilities/adapters | 17:11 |
replaceafill | of course, score systems dont work like that right now | 17:11 |
yvl | I see where I'm missing the point... user defined reports | 17:12 |
aelkner_ | yes | 17:12 |
yvl | as I don't know anything how you want them to work | 17:12 |
yvl | * ... anything about how ... | 17:12 |
aelkner_ | utilities are better than adapters in that they can be persistent objects added to the site manager | 17:13 |
yvl | and... we will never ever do that again | 17:13 |
replaceafill | and then you can't disable them :( | 17:13 |
yvl | that is an awful practice | 17:13 |
yvl | awful | 17:13 |
replaceafill | and if you remove the plugin/pilot code, the whole instance breaks | 17:13 |
yvl | yep | 17:14 |
th1a | OK, that's a disadvantage. | 17:14 |
yvl | the whole instance becomes volatile | 17:14 |
yvl | but if you stored it hidden in some container | 17:14 |
yvl | you can avoid looking at that container after plugin is disabled | 17:14 |
yvl | and the rest of ST runs | 17:14 |
replaceafill | you just disable 'the piece of code' i was referring to before... | 17:15 |
yvl | yes :) | 17:15 |
th1a | OK, I think we're getting somewhere now. | 17:15 |
th1a | It would be good if reports could disappear without breaking things. | 17:16 |
yvl | :) | 17:16 |
aelkner_ | well, if we don't have user-defined reports, then adapters will do | 17:16 |
th1a | And down the road there will be some kind of user-defined reports which should be able to be register themselves. | 17:16 |
th1a | That is, through-the-web, user defined reports. | 17:17 |
th1a | Stored only in the database. | 17:17 |
aelkner_ | how would a user-defined report register itself? | 17:17 |
th1a | Well, that's the question. | 17:17 |
replaceafill | aelkner_, the user defined report would provide an interface | 17:17 |
th1a | This is a "yes, we are going to need that" moment. | 17:17 |
replaceafill | and an object would look for those objects | 17:17 |
replaceafill | aelkner_, like with external interfaces | 17:17 |
replaceafill | sorry | 17:18 |
replaceafill | external activities | 17:18 |
replaceafill | in the gradebook | 17:18 |
th1a | What we're going for here is an implementation that doesn't do much right now but is the foundation for lots of subsequent elaboration. | 17:18 |
aelkner_ | replaceafill, how does the report provide the interface in a way that we find it in an adapter lookup? | 17:18 |
replaceafill | a plugin 'announces' it has an iexternalactivities source | 17:18 |
aelkner_ | how? | 17:18 |
replaceafill | aelkner_, you put the interface you want to look for in schooltoo.report | 17:19 |
replaceafill | plugins/pilot code implement taht | 17:19 |
replaceafill | so in cambodia i could have my cambodiadummyreport implementing that interface | 17:19 |
replaceafill | and schooltool.report would look for those 'sources' | 17:20 |
aelkner_ | ok, first of all, by user-defined report, i'm refering to a user, not code | 17:20 |
aelkner_ | users don't werite code | 17:20 |
*** ignas has quit IRC | 17:20 | |
replaceafill | but users can create objects in the app | 17:20 |
aelkner_ | right | 17:20 |
replaceafill | and those objects can provide interfaces | 17:20 |
yvl | users don't write schemas, but they do have demographics | 17:20 |
replaceafill | aelkner_, users create skilldrivers in cando | 17:21 |
yvl | and if the users actually write something, it's probably XML... maybe | 17:21 |
replaceafill | cando takes those and create external activities | 17:21 |
replaceafill | the gradebook looks for all things providing external activities and show those in the gradebook | 17:21 |
* replaceafill is sorry for using the only example he understands :( | 17:21 | |
*** ignas has joined #schooltool | 17:21 | |
aelkner_ | no, that's fine | 17:22 |
aelkner_ | so the cando user creates a skilldriver, and the code puts that skilldriver in a skilldriver container | 17:22 |
replaceafill | right | 17:22 |
aelkner_ | but that does not in itself make the skilldriver locatable from external codde | 17:23 |
th1a | Let's assume we eventually create a through-the-web report layout system. Ideally, whatever mechanism we're using to register reports now would also be *possible* in an end-user defined report. | 17:23 |
th1a | (yes aelkner_, I know I didn't say this last week) | 17:24 |
aelkner_ | exactly | 17:24 |
aelkner_ | no, you didn't leave anything out | 17:24 |
aelkner_ | but you just stated my point about user-defined reports, so that's right | 17:24 |
th1a | And ideally, he can delete that report without crashing his database. ;-) | 17:25 |
aelkner_ | an end-user defined report would be an object | 17:25 |
yvl | well, in my head, the hardest part of this, is the one where magic figures out how to collect the links to the reports | 17:25 |
yvl | or to collections of reports | 17:25 |
aelkner_ | yvl, there are links to reports | 17:25 |
yvl | or person container, or whatever | 17:26 |
replaceafill | sadly, i'm still confused about the links :( | 17:26 |
aelkner_ | just to context containers or the active schoolyear | 17:26 |
yvl | for now, magic = hardcoded | 17:27 |
yvl | which is ok | 17:27 |
th1a | Well, right now there is no magic. | 17:27 |
th1a | Or hardcoding. | 17:27 |
yvl | :)) | 17:27 |
aelkner_ | yvl, i think your confusion comes from the context of these reports | 17:28 |
th1a | Here's the thing: | 17:28 |
aelkner_ | even if a report is created in schooltool.intervention | 17:28 |
aelkner_ | it is still for one of the core context types | 17:28 |
th1a | if you have a report on a person. | 17:28 |
aelkner_ | schoolyear, group, person | 17:28 |
aelkner_ | not for a special schooltool.intervention object | 17:28 |
yvl | that is bad. | 17:28 |
th1a | From a generic report index, you can't just jump to the report itself because you don't know which person you're talking about. | 17:28 |
aelkner_ | right | 17:29 |
replaceafill | th1a, correct! | 17:29 |
th1a | But basically, that just points out the limited utility of the generic report index. | 17:29 |
th1a | HOWEVER, | 17:29 |
th1a | there is one really important use case in the generic report index. | 17:29 |
th1a | The site administrator who doesn't know what reports are available on his instance! | 17:29 |
th1a | That's the use case for this page. | 17:30 |
replaceafill | more informative than 'functional' | 17:30 |
aelkner_ | like security descriptions, as i mentioned in y note | 17:30 |
th1a | We may not elaborate the index view at all. | 17:30 |
aelkner_ | th1a, elaborate the index view? what does that mean? | 17:31 |
* replaceafill starts to understand the 'security descriptions' analogy... | 17:31 | |
aelkner_ | :) | 17:31 |
yvl | ok, so I'm really on the same page here | 17:31 |
th1a | lol | 17:31 |
yvl | I just fail to see why we would need to use the interface in the utility, because it gives us nothing | 17:32 |
aelkner_ | yvl, you thought the system was going to request the reports automatically | 17:32 |
th1a | It usually takes us an hour to figure that out. :-D | 17:32 |
yvl | it can be a string | 17:32 |
yvl | or a number! | 17:32 |
yvl | it does not matter actually | 17:32 |
aelkner_ | yvl, ok, fair enough | 17:32 |
th1a | I think these conversations are worthwhile, btw. | 17:32 |
aelkner_ | it could be a key | 17:32 |
yvl | and I don't understand why we want to artificially limit ourselves | 17:32 |
yvl | to only links on basic types | 17:32 |
yvl | just because | 17:33 |
yvl | we want to use "if" sentences with "numbers" to figure out links | 17:33 |
aelkner_ | yvl, that's a good point | 17:33 |
th1a | If the utility approach makes this more rigid for no reason, perhaps another way would be better. | 17:33 |
aelkner_ | so instead of interface, we need something that can be adapted to a link | 17:34 |
yvl | or, we put the link directly | 17:34 |
yvl | you can have a class that inherits from OrderedViewletManager | 17:34 |
aelkner_ | how do we put the link to the active schoolyear in a utility that is registered in zcml? | 17:34 |
yvl | we don't use the utility :) | 17:35 |
aelkner_ | again, how do we register the link to the active schoolyear? | 17:35 |
yvl | we use a viewlet that has "def link(self):" | 17:35 |
yvl | you register a viewlet on the manager | 17:35 |
yvl | and in the viewlet's code | 17:35 |
yvl | you implement getting of a link | 17:36 |
yvl | to the active school year | 17:36 |
yvl | so, you'll need | 17:36 |
yvl | the Manage->Reports view | 17:36 |
yvl | an class Something(OrderedViewletManager) | 17:36 |
yvl | and viewlets registered for the manager and the view | 17:36 |
yvl | registering them is somewhat similar to registering action buttons | 17:37 |
yvl | or Manage->Reports link for that matter | 17:38 |
aelkner_ | viewlet managers and viewlets are one of the most cnfuing aspects of zope | 17:38 |
aelkner_ | adapters are easy enough to understand | 17:38 |
aelkner_ | a adapts to b | 17:38 |
replaceafill | aelkner_, they're adapters | 17:38 |
replaceafill | viewletmanager -> (context, request, view) | 17:38 |
aelkner_ | so why use viewlet managers and viewlets when we can write our own adapters? | 17:38 |
replaceafill | viewlet -> (context, request, view, viewletmanager) | 17:39 |
th1a | OK, so one other requirement here... | 17:39 |
th1a | This a part of SchoolTool which should be as accessible as possible to relative newb developers. | 17:39 |
aelkner_ | and viewlet mangers and viewlets is not for newb developers | 17:40 |
th1a | Even if people don't know anything else about SchoolTool, it would be nice if we could write a little "writing a custom report package" tutorial that halfway made sense. | 17:40 |
th1a | To someone with a programming background. | 17:40 |
yvl | hmm | 17:41 |
th1a | Imagine trying to help a small business customize SchoolTool for local clients. | 17:42 |
th1a | So keeping it simple in that way would be good. | 17:42 |
yvl | adding somewhat-official zcml directives would help | 17:42 |
yvl | like we did with crowds, just keep it simpler | 17:42 |
yvl | <schooltool:report | 17:42 |
aelkner_ | crowds don't use viewlet managers | 17:42 |
yvl | ...> | 17:42 |
yvl | you are right | 17:43 |
yvl | in a way they are similar to reports | 17:43 |
yvl | when you look at an object, you can figure out the crowd, but not the other way around | 17:44 |
yvl | same goes for reports | 17:44 |
yvl | you can register report views on some objects, with some layer(!) | 17:44 |
yvl | but strictly speaking, you never know where the objects that have those views are | 17:45 |
yvl | think - traversal + skinning | 17:45 |
aelkner_ | i'm confused | 17:46 |
yvl | well, anyway - at this point we should probably start with writing something | 17:46 |
yvl | and then refactor along the way | 17:46 |
aelkner_ | but now i have no idea what i wold be writing | 17:46 |
yvl | well, sorry to ruin your day, but | 17:47 |
yvl | both approaches have their flaws | 17:47 |
yvl | and won't hold for long | 17:47 |
yvl | and I don't know how to make the best solution | 17:48 |
yvl | need to sit down and think about it | 17:48 |
yvl | and I remember ignas was thinking about this too :) | 17:48 |
th1a | I'm ok with aelkner_ going ahead with the current plan. | 17:49 |
th1a | Let's move on. | 17:49 |
yvl | aelkner_, can you do a small favor for me there | 17:49 |
yvl | instead of giving an interface to the utility | 17:50 |
yvl | give it a function that returns a link | 17:50 |
aelkner_ | what is "it"? | 17:50 |
yvl | utility | 17:50 |
yvl | each utility has title, description and code to calculate a link | 17:50 |
yvl | well, anyway | 17:51 |
aelkner_ | wait, i think i understand | 17:51 |
aelkner_ | so in schooltool.reports, i can create base classes for the utilties that deliver the various types of links | 17:52 |
aelkner_ | and in the packages themselves, i sub-class and just change title and description | 17:52 |
aelkner_ | does that sound right? | 17:52 |
yvl | yes | 17:52 |
yvl | and one more thing | 17:52 |
yvl | don't forget that you can subclass and change the links they delive | 17:53 |
yvl | r | 17:53 |
aelkner_ | yes, that's the future, user-defined idea | 17:53 |
yvl | ok | 17:53 |
yvl | thanks :) | 17:53 |
aelkner_ | th1a, i think we have something here | 17:53 |
th1a | OK. Great! | 17:53 |
aelkner_ | yvl, thanks to you sir | 17:53 |
th1a | We should probably follow up on the phone. | 17:53 |
aelkner_ | sure | 17:54 |
yvl | well, thank you for your patience :) | 17:54 |
th1a | replaceafill: Great job with the quick response to Cambodia. | 17:55 |
replaceafill | th1a, :) | 17:55 |
th1a | They seem to have found someone to work with us there. | 17:55 |
th1a | So hopefully we'll start moving there again. | 17:55 |
replaceafill | hope so | 17:55 |
th1a | replaceafill: Anything else in particular you'd like to bring up? | 17:55 |
th1a | (we don't need a full recap at this point). | 17:56 |
replaceafill | just wanted to ask yvl or menesis if it's possible to include the ftest work i did in the gradebook in trunk | 17:56 |
aelkner_ | for the next release i hope~ | 17:57 |
* yvl sneakily waits for menesis to take the merging ladle | 17:57 | |
replaceafill | we still don't have 100% coverage, but we went from: http://img220.imageshack.us/img220/1594/pantallazo1r.png -> http://img684.imageshack.us/img684/7531/pantallazotq.png | 17:57 |
aelkner_ | replaceafill, nice | 17:57 |
replaceafill | th1a, that's all, i'll come back to cambodia and do little more adjustments | 17:57 |
th1a | kk thanks. | 17:58 |
th1a | yvl? | 17:58 |
yvl | pushed tt some 30 hours forward | 17:58 |
yvl | we will have them by deadline, but chances of my bonus look 50/50 | 17:58 |
yvl | (well that was a short report...) | 17:59 |
th1a | Thanks, yvl. | 17:59 |
yvl | by the way, replaceafill, you asked if we should use zope i18n formatter for dates/years | 17:59 |
yvl | maybe for displaying, no for input | 18:00 |
replaceafill | ah yes | 18:00 |
th1a | I always feel a little silly trying to inspire people to work harder over IRC, but YOU CAN DO IT! | 18:00 |
yvl | :)))) | 18:00 |
yvl | thanks th1a! | 18:00 |
yvl | sincerely! | 18:00 |
th1a | :-D | 18:00 |
th1a | menesis? | 18:00 |
replaceafill | yvl, actually i have a lot of small questions, but i'll come up with them later | 18:00 |
replaceafill | yvl, maybe in the sprint :) | 18:01 |
yvl | email the dev list! | 18:01 |
yvl | a live dev list makes th1a happy ;) | 18:01 |
menesis | replaceafill: you want me to merge your gradebook branch with much refactoring? | 18:01 |
replaceafill | menesis, please, not much gradebook code changed actually, just a couple of fixes | 18:01 |
menesis | I see some forms were rewritten in z3c.form | 18:02 |
replaceafill | ah yes | 18:02 |
menesis | but that's good, there are more tests and they all pass | 18:03 |
replaceafill | :) | 18:03 |
menesis | will review | 18:03 |
replaceafill | thanks menesis | 18:03 |
menesis | please make a merge request | 18:03 |
replaceafill | ah ok | 18:03 |
aelkner_ | replaceafill, you mean you hadn't already, the shame :) | 18:03 |
replaceafill | :(( | 18:04 |
menesis | th1a: last week I wrestled with zope.html package, made it and uploaded. that's the last zope package still not in | 18:04 |
th1a | Excellent. | 18:04 |
replaceafill | menesis, merge requested | 18:04 |
th1a | Anything else to be done between now and when we start uploading SchoolTool? | 18:04 |
menesis | but I want to fix a bug in it that we workaround in schooltool, so tried to fix upstream, but not committed | 18:05 |
th1a | Or should we just start uploading the current SchoolTool packages? | 18:05 |
menesis | no, there is some work to make schooltool work on natty | 18:05 |
menesis | and package consolidation | 18:06 |
menesis | that's a goal for feb 3 | 18:06 |
menesis | I will be able to upload proper schooltool packages only then | 18:06 |
th1a | OK. | 18:06 |
th1a | Sounds good. | 18:07 |
th1a | Can you try to get the packaging instructions to CL this week? | 18:07 |
th1a | We need to hold up our one post-meeting obligation. | 18:07 |
menesis | about package names, I want to drop schooltool-common and schooltool-2009 | 18:07 |
th1a | Please. | 18:07 |
menesis | but also I would like not to upload a schooltool.lyceum.journal | 18:07 |
menesis | can we rename it to schooltool.journal? | 18:08 |
menesis | th1a: I will post it | 18:08 |
th1a | menesis: Sure. | 18:09 |
menesis | have too much stuff in my head and notes, was turning them into emails and tasks and blueprints, will post some today | 18:09 |
th1a | OK. | 18:09 |
th1a | Don't overwhelm yourself. | 18:10 |
menesis | I don't | 18:10 |
menesis | so you think it would be good to rename to schooltool.journal? | 18:11 |
th1a | I'm ok in the abstract. | 18:11 |
th1a | I'm not sure how much of a practical headache it will be. | 18:11 |
th1a | I'd not consider it a high priority. | 18:12 |
menesis | will be more if we decide to rename later | 18:12 |
yvl | we can rename the package, but move the code later | 18:12 |
th1a | Compared to the other renamings. | 18:12 |
th1a | Definitely kill schooltool-2009 | 18:12 |
th1a | Please. | 18:12 |
th1a | ! | 18:12 |
menesis | :) | 18:13 |
yvl | schooltool 1.6, named schooltool-2009, using stapp2007... madness. | 18:13 |
aelkner_ | :) | 18:13 |
th1a | Anything else, menesis? | 18:14 |
menesis | hm | 18:14 |
menesis | There was a question from TurnKey if we could do a backport to Lucid | 18:15 |
menesis | I have copied the needed packages to ppa:schooltool-owners/dev | 18:15 |
menesis | unchanged from maverick | 18:16 |
menesis | so they can either use maverick ppa on lucid, or lucid ppa + lucid dev ppa | 18:16 |
menesis | to get latest schooltool on lucid | 18:16 |
th1a | Could you explain that to them? | 18:17 |
menesis | yes | 18:17 |
menesis | but, who do I write to or there was a blog post, I don't remember | 18:19 |
th1a | There is a comment thread on their site. | 18:20 |
th1a | On a bug or something. | 18:20 |
th1a | http://www.turnkeylinux.org/forum/general/20110105/tklpatch-schooltool | 18:22 |
th1a | OK, wrapping up. | 18:22 |
th1a | I got a good report on how the Mpelembe deployment went from Jen, the American who was our intermediary at the school. | 18:22 |
th1a | So I'll be posting that soon. | 18:22 |
th1a | Gives us a little more concrete view of what it looks like from the other side. | 18:23 |
th1a | Otherwise, have a great week, gentlemen! | 18:23 |
* th1a drops the bag of gravel. | 18:23 | |
th1a | aelkner_: Are you going back to bed now or should we talk? | 18:24 |
aelkner_ | let's talk | 18:24 |
th1a | OK, give me 15 minutes to grab a bite to eat. | 18:24 |
aelkner_ | ok, you call me | 18:24 |
replaceafill | thanks guys | 18:25 |
yvl | good week to you guys :) | 18:25 |
replaceafill | th1a, is the "I Got the Same Email!" story true? | 18:25 |
aelkner_ | great week everyone | 18:26 |
th1a | replaceafill: No! | 18:28 |
replaceafill | :D | 18:28 |
*** menesis has quit IRC | 18:37 | |
*** ignas has quit IRC | 19:08 | |
replaceafill | aelkner_, you around? | 19:19 |
replaceafill | th1a, still wondering if we should put a 'Cambodia SchoolTool Book' together... | 19:26 |
th1a | Probably. | 19:26 |
replaceafill | i mean, so we can point new users, like mr chandara to it | 19:27 |
th1a | Yes... | 19:39 |
th1a | what else would we do with it? | 19:40 |
replaceafill | ... | 19:40 |
th1a | But yes, we do need one. | 19:42 |
th1a | Is it stable enough to do it now though? | 19:42 |
replaceafill | yeah, i was thinking the same | 19:42 |
replaceafill | maybe they'll request changes now that we get back to work | 19:43 |
replaceafill | if they focus... | 19:43 |
replaceafill | ... they may find things they want changed | 19:43 |
aelkner_ | replaceafill, you rang? | 19:52 |
replaceafill | aelkner_, ah no, i figured it out :) | 19:52 |
replaceafill | was testing your demographics work in cambodia | 19:52 |
aelkner_ | ah | 19:53 |
replaceafill | i just changed some List to EnumValueList | 19:53 |
replaceafill | and deleted the custom widget that is not there anymore | 19:53 |
replaceafill | and it seems to work :) | 19:53 |
aelkner_ | sounds good | 19:54 |
replaceafill | thanks | 19:54 |
aelkner_ | np | 19:54 |
replaceafill | i think i'll abuse that feature :) | 19:54 |
aelkner_ | abuse away :) | 19:55 |
*** menesis has joined #schooltool | 20:00 | |
*** menesis has quit IRC | 20:00 | |
*** alga has quit IRC | 20:08 | |
*** alga has joined #schooltool | 21:24 | |
*** replaceafill has quit IRC | 21:35 | |
*** menesis has joined #schooltool | 22:54 | |
*** alga_ has joined #schooltool | 23:05 | |
*** alga has quit IRC | 23:07 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!