*** vmx_ has joined #schooltool | 00:28 | |
*** vmx has quit IRC | 00:30 | |
*** carljm has joined #schooltool | 00:46 | |
*** ryanakca has joined #schooltool | 00:48 | |
*** vmx_ is now known as vmx | 00:56 | |
vmx | re | 00:57 |
---|---|---|
ryanakca | How do you add a user for schooltool... Its running on my kubuntu system on port 1078... | 00:58 |
vmx | ryanakca: you click on "persons" and then in "actions" on "new person" | 01:00 |
ryanakca | ummm... I need to login to access "persons" | 01:01 |
ryanakca | is there a default user & pass or ??? | 01:01 |
vmx | if it is the standard installation it is probably "manager" as user and "schooltool" as password | 01:01 |
vmx | at least it is on debian | 01:02 |
ryanakca | vmx: thanks it works... its kubuntu (based on ubuntu, based on debian) :) | 01:02 |
vmx | ryanakca: np :) | 01:03 |
*** bimberi has joined #schooltool | 01:04 | |
*** Burgwork has joined #schooltool | 01:04 | |
*** Burgwork has left #schooltool | 01:04 | |
*** ryanakca has left #schooltool | 01:08 | |
*** ryanakca has joined #schooltool | 01:10 | |
ryanakca | me again, what port does schoolbell run on? 7080? | 01:10 |
vmx | if it doesn't work, try 7180 | 01:13 |
vmx | or look in the /etc/schooltool/schooltool.conf | 01:13 |
ryanakca | vmx: yep, 7180... I take it it uses 7180 since schooltool uses 7080? | 01:18 |
vmx | ryanakca: sorry, i don't understand your question | 01:19 |
*** Gwynn has joined #schooltool | 01:19 | |
*** bimberi has left #schooltool | 01:30 | |
vmx | are there any plans to make schooltool xhtml compliant? | 01:41 |
ryanakca | vmx: schoolbell works on port 7180, schooltool 7080. I take it that schoolbell is using port 7180 because schooltool is using port 7080? | 01:49 |
vmx | ah, sorry i have read school_tool_ all the time, not schoolbell. yes it would be possible (i don't know) | 01:52 |
*** Gwynn has quit IRC | 02:48 | |
povbot | /svn/commits: * srichter committed revision 5837: | 03:18 |
povbot | /svn/commits: Added views to add and edit an academic year layout. This also uses formlib. The code really shows off its strengths by showing how to handle several subforms and using the same base code for adding and editing. | 03:18 |
povbot | /svn/commits: I still have to add tests for this code. | 03:18 |
vmx | i wonder if event.dtstart.astimezone((view.timezone).strftime(view.time_fmt) is the same as event.dtstarttz.strftime(view.time_fmt) | 03:25 |
*** _pcardune has joined #schooltool | 04:14 | |
*** pcardune has quit IRC | 04:26 | |
*** pcardune_ has joined #schooltool | 05:17 | |
*** _pcardune has quit IRC | 05:32 | |
vmx | i try to edit the css of the calendar week-view. i changed src/schooltool/skin/resources/layout.css but the changes doesn't take affect | 06:36 |
vmx | ah, i need to restart if i change the layout.css | 06:45 |
th1a | vmx: Is SchoolTool not XHTML compliant? If it isn't, it is a bug. | 06:54 |
vmx | no it isn't | 07:00 |
vmx | e.g. the weekview | 07:00 |
th1a | What's the problem? | 07:03 |
vmx | some tags arent't closed | 07:06 |
vmx | and one <a> has an attribut "start" (but thats perhaps a missing colon in the *.pt) | 07:06 |
vmx | and table has "height" attributes | 07:07 |
vmx | the <td>s in <table> | 07:07 |
vmx | time to get some sleep, g'night | 07:26 |
*** vmx is now known as vmx_afk | 07:27 | |
vmx_afk | before i go a screenshot of my hacking attemps: http://vmx.cx/tmp/schooltool/screen001.png | 07:35 |
th1a | vmx: Let me know if you want checkin privileges. | 07:36 |
th1a | We need a few people fussing with the HTML. | 07:36 |
vmx_afk | oh, i'm far from "checkinable" ;) it was the first day i was hacking schooltool | 07:37 |
vmx_afk | but i can help cleaning up the html | 07:37 |
th1a | We NEED that. | 07:37 |
vmx_afk | you need people who know html? | 07:38 |
th1a | Need people to pay attention to how things look. | 07:38 |
th1a | We've had only programmers working on the app for a while. | 07:38 |
th1a | We have a web design deficit. | 07:39 |
vmx_afk | a cool. i like webdesign but also interface design :) | 07:39 |
th1a | I have some people coming on who are more design oriented. | 07:40 |
th1a | But nobody has owned the look and feel of the app in a while. | 07:40 |
th1a | And I don't have much of a feel for it either. | 07:40 |
vmx_afk | ok, we will see what i can do. but now i need some sleep | 07:41 |
th1a | Good night. | 07:41 |
*** pcardune_ has quit IRC | 07:48 | |
*** kzzl has joined #schooltool | 08:37 | |
*** kzzl has left #schooltool | 08:37 | |
*** vmx_ has joined #schooltool | 09:08 | |
*** vmx_afk has quit IRC | 09:10 | |
*** auxesis has quit IRC | 10:08 | |
*** auxesis has joined #schooltool | 10:10 | |
*** auxesis has quit IRC | 10:10 | |
*** auxesis has joined #schooltool | 10:11 | |
*** mgedmin has joined #schooltool | 10:47 | |
*** alga has joined #SchoolTool | 10:48 | |
*** ignas has joined #schooltool | 11:18 | |
*** budgester has joined #schooltool | 12:03 | |
*** didymo has quit IRC | 12:20 | |
*** faassen has joined #schooltool | 12:56 | |
*** jinty has joined #schooltool | 14:20 | |
*** budgester has quit IRC | 15:47 | |
*** Gwynn has joined #schooltool | 15:55 | |
*** jinty_ has joined #schooltool | 16:07 | |
*** jinty has quit IRC | 16:16 | |
th1a | Hello all. | 16:31 |
mgedmin | hi | 16:31 |
srichter | good morning | 16:31 |
th1a | I'll start with a quick update on what I've been up to. | 16:31 |
th1a | As most of you know, I was in San Diego last week visiting High Tech High. | 16:32 |
th1a | Updating them on what's going on. | 16:32 |
faassen | hi there. | 16:32 |
th1a | We worked on ideas about how to have them test the gradebook in the fall. | 16:33 |
th1a | I'm going to send out a new roadmap, hopefully tomorrow, that reflects what I've learned from visiting our partner schools and where we are in development. | 16:33 |
ignas | hi | 16:34 |
th1a | Today I'm working out more of the details (i.e., figuring out the money...) for our sprint in New Hampshire on July 16-19. | 16:34 |
th1a | Particularly trying to determine if I have enough money to bring someone from Infrae over. | 16:34 |
th1a | So that's something faassen & kitblake can consider. | 16:35 |
th1a | We're doing a sprint at a regional conference for open source in education. | 16:36 |
th1a | http://web.vcs.u52.k12.me.us/moodle/ | 16:36 |
th1a | That is, consider if you would want to fly over to the states at our expense for a few days in July. | 16:36 |
th1a | The plan is to bring alga over too, and most of the CanDo people will be attending as well. | 16:37 |
th1a | Also, I want to scan in the collection of forms and report cards I've collected on my recent travels and put those on the site. | 16:38 |
th1a | Those are my main work items. | 16:38 |
faassen | to make this clear, we're talking about 1 sprint, right? | 16:38 |
th1a | Let's do POV, then Infrae, then srichter. | 16:38 |
faassen | the one at the conference. | 16:38 |
th1a | faassen: Yes. | 16:38 |
faassen | ok. | 16:38 |
th1a | There's also going to be a CanDo sprint in Virginia at the end of July that srichter and I will be attending. | 16:39 |
th1a | But there isn't a budget to fly people over from Europe for that one. | 16:39 |
th1a | OK... POV? | 16:39 |
ignas | writing it | 16:40 |
ignas | th1a, last week, we have been working on some timezone bugs, namely revising the icalendar import code, so we could add timezones to events eventualy | 16:40 |
ignas | th1a, that took too much time though, so we are going to concentrate on getting the most important bugs fixed first | 16:40 |
th1a | OK. | 16:40 |
faassen | concerning icalendar, there's still the icalendar library. | 16:40 |
faassen | which I pointed out to you long ago. it's still there. | 16:41 |
mgedmin | vobject? | 16:41 |
faassen | codespeak.net/icalendar/ | 16:41 |
faassen | I used it in CalCore work. it's quite pleasant. | 16:41 |
ignas | though this week i am going to spend working on our internal project, as we have a very close deadline | 16:41 |
faassen | I'm sure it could use improvements, but then a Python library would get improved by us. | 16:42 |
faassen | in the not reinventing wheels department. | 16:42 |
alga | good point. | 16:42 |
ignas | looking at it now | 16:43 |
faassen | I just had to think of it again when I saw icalendar related checkins. | 16:43 |
th1a | Yes, our desires to unify the Python calendaring world got hung up on licensing and copyright, and the ground rules of this project. | 16:44 |
faassen | yeah, I'm guilty of reinventing the calendaring wheel with CalCore too. | 16:44 |
faassen | but not for lack of trying to work with schooltool. :) | 16:44 |
ignas | though it would not make it that much easier to us, from what i can see - it is not doing the part i worked on - converting pytz tzinfo objects into VCALENDAR blocks and converting them back ... | 16:45 |
faassen | anyway what I ended up doing is digging up this icalendar project and giving it its web page, etc. | 16:45 |
ignas | will check the assumption more closely though | 16:45 |
faassen | right, I believe that there was a recommendation on the list concerning the use of dateutil there. | 16:45 |
faassen | apparently it's capable of interpreting some icalendar bits. | 16:45 |
faassen | dateutil also has a recurrence implementation. | 16:45 |
faassen | anyway, I just wanted to stir things up a bit, let's pass on to something else. :() | 16:46 |
faassen | :) | 16:46 |
th1a | Yes. | 16:46 |
ignas | faassen, migrating from pytz tzinfo to dateutil might be troublesome :/ | 16:46 |
faassen | ignas: I'm sure you know more about it than I do. | 16:46 |
th1a | So ignas is doing other work this week. Are others at POV working on SchoolTool? | 16:47 |
faassen | ignas: so you may be right. anyway, your efforts might make sense in the icalendar package too, if it could gain solid timezone support that'd be nice. but now I'll shut up. | 16:47 |
ignas | th1a, afraid not this week, but as soon as we will complete the side projects, we're all on school tool | 16:48 |
ignas | oh | 16:49 |
th1a | OK. As long as I know what's going on. | 16:49 |
ignas | and i am going to estimate the changes you asked me about some time today | 16:49 |
th1a | About fixing the permissions in this contract? | 16:49 |
ignas | yes | 16:49 |
ignas | sorry, for not doing that earlier | 16:49 |
ignas | was carried away by programming tasks | 16:49 |
th1a | It is ok. I was just going to ask about it. | 16:49 |
th1a | (I had realized that by not clearing up the permissions issues in attendance taking (i.e., right now anyone can take attendance--there is no access control implemented) in the current contract, | 16:51 |
th1a | it would mean that nobody could do any practical testing of attendance at all until the end of the NEXT contract, which would be very bad. | 16:52 |
th1a | So we're probably going to rearrange some things to make sure the permissions are done sooner rather than later. | 16:52 |
th1a | I seem to have a tendency to put off dealing with access control. | 16:52 |
th1a | I'm afraid of it. | 16:53 |
th1a | OK... srichter? | 16:53 |
srichter | I have been working on the term, course, section and gradebook obejcts the past two weeks | 16:53 |
faassen | note that I suspect dealing with access control has a lot to do with the UI. | 16:54 |
th1a | Oops. I deviated from my order. | 16:54 |
faassen | i.e. you can have an access control system that can do everything but is unusable. | 16:54 |
srichter | Tom and I had several meetings about this to work it all out | 16:54 |
th1a | faassen: Good point. | 16:54 |
ignas | faassen, yes :) have you seen my email that was summarizing schooltool issues ? | 16:54 |
faassen | ignas: which list? | 16:54 |
srichter | it turns out that terms are really the central component for schooltool that will control a bunch of tasks | 16:54 |
faassen | ignas: and when? | 16:55 |
srichter | you can read about the design in schooltool.term/README.txt | 16:55 |
faassen | srichter: on a branch? | 16:55 |
th1a | srichter: Are you working on a branch now? | 16:56 |
srichter | I tried hard to have a simple of an API as possible, but the set of requirements we had very very daunting | 16:56 |
srichter | yes, the branch I am constantly checking in to | 16:56 |
ignas | "Things wrong with SchoolTool", by alga@pov.lt schooltool-dev | 16:56 |
faassen | so not just schooltool.term/README | 16:56 |
ignas | Oct 21, 2005 3:42 PM | 16:56 |
srichter | branches/srichter-term-gradebook-work/ | 16:56 |
faassen | ignas: old stuff, no, hadn't seen that. I think. | 16:56 |
faassen | I will read that. | 16:57 |
th1a | So terms are changing quite a bit. | 16:58 |
srichter | I am pretty much done with the Term API | 16:58 |
srichter | yes | 16:58 |
th1a | They are hierarchical, for one thing. | 16:58 |
srichter | right | 16:58 |
srichter | their structure is very important too | 16:58 |
srichter | not all terms manage schooldays | 16:58 |
faassen | do terms contain content? | 16:58 |
srichter | only one, by default the academic year, will manage school days | 16:59 |
faassen | oh, I see you have term templates. :) | 16:59 |
srichter | yes, they contain sub-terms | 16:59 |
srichter | yes, I had to introduce them :-( | 16:59 |
srichter | I tried hard not to, but it makes the usage much more sane | 16:59 |
th1a | But we didn't really deal with the question of whether or not a term should contain its sections, for example. | 17:00 |
faassen | right, that's why I asked. | 17:00 |
srichter | I also have some logical diagrams and screen mockups, so Tom might want to put them online | 17:00 |
*** Gwynn has quit IRC | 17:00 | |
srichter | or create a nice document from it | 17:00 |
*** Gwynn has joined #schooltool | 17:00 | |
th1a | srichter: So the diagrams are still accurate -- that's how they are implemented? | 17:01 |
srichter | th1a: yes | 17:01 |
srichter | th1a: in fact screen mockup (A) is now implemented ina simple form | 17:01 |
th1a | So what are the ways the term changes might effect stuff POV is working on? | 17:02 |
tiredbones | srichter, the public do not have access to these documents yet? | 17:02 |
srichter | th1a: what is POV working on? | 17:02 |
srichter | tiredbones: no | 17:02 |
th1a | Well, attendance. | 17:02 |
srichter | right now nothing | 17:02 |
th1a | I'm speaking broadly. | 17:02 |
ignas | attendance, and some timezone/timetable bugs | 17:02 |
th1a | tiredbones: I can get those out to the list. | 17:03 |
srichter | all they care about is checking the school days | 17:03 |
tiredbones | th1a, 6thanks | 17:03 |
srichter | I will have an answer on how to get to this info when I merge | 17:03 |
*** budgester has joined #schooltool | 17:03 | |
th1a | Anything else srichter? | 17:04 |
srichter | eventually, attendance wants to listen to some events we are creating for the terms | 17:04 |
srichter | oh, and I will be pretty much quiet the next weeks till I am going to Europe | 17:04 |
th1a | Doing Physics! | 17:05 |
srichter | because my research advisor asserted a lot of pressure to get my current task done ;-) | 17:05 |
srichter | (which is very cool too and I really need to get it done) | 17:05 |
srichter | ok, I am done | 17:05 |
ignas | th1a, i will need some help of yours in designing the updated workflow, i got a mockup, but i am not sure that it is what you want ... | 17:05 |
th1a | ignas: Of course. | 17:06 |
th1a | Yes, I think it might end up being a bit tricky. | 17:06 |
th1a | OK, faassen? | 17:06 |
faassen | okay. | 17:07 |
faassen | I've been trying to do a number of things. | 17:07 |
faassen | * getting myself familiar with schooltool. | 17:08 |
faassen | * work out a plan for demographics. | 17:08 |
faassen | * making schooltool safer for non gurus to hack on the UI. | 17:08 |
faassen | * and thinking about reusing a lot of stuff in schooltool that currently it's not using. | 17:09 |
th1a | How are you making UI hacking safer? | 17:09 |
faassen | well, the schooltool.skin package is one part of it. | 17:09 |
th1a | Ah. Separating it. | 17:09 |
faassen | but currently I consider the schooltool UI too well factored to be easy to hack on for non-gurus. | 17:09 |
faassen | the level of component-guruhood required is too high right now, in my opinion. | 17:10 |
faassen | anyway, I will need to develop a way to make that easier. | 17:10 |
th1a | What do you have in mind? | 17:11 |
th1a | It seems like something that would be extremely helpful. | 17:11 |
faassen | yeah, I'm mostly just thinking. | 17:11 |
faassen | separating out schooltool.skin so it's independently usable. | 17:11 |
faassen | I need to think through viewlets. I don't consider what's there easy to grasp and there's lots of ZCML there some of which is schooltool-specific. But I don't understand it well enough to suggest ways to simplify it. | 17:12 |
ignas | faassen, is it possible to have "a schooltool that can be extended without touching the original code" and "schooltool that is easy to hack" ? | 17:12 |
faassen | I also have hopes we can reuse some high-level components such as zc.table and formlib | 17:12 |
ignas | because iirc we are striving for the first one | 17:12 |
faassen | ignas: I don't know. :) | 17:12 |
faassen | ignas: I cannot fully evaluate how successful schooltool has gotten in the first department. | 17:13 |
srichter | I have started using formlib in my branch | 17:13 |
faassen | anyway, the problem is that if I spend a day with the skin code moving it around, i still dont' know how it works. | 17:13 |
faassen | and I don't expect the average UI hacker can use it then. | 17:13 |
ignas | faassen, not very successful, but viewlets, and srichters major refactoring are getting us there | 17:13 |
th1a | ignas: I would agree that the first goal is more important than the second. | 17:13 |
faassen | srichter: yes, but you don't use it in the simplest way possible from what I can see. you already combine multiple forms, lots of Python code, etc. | 17:13 |
faassen | srichter: it's good for that, but not easy to hack on. | 17:14 |
srichter | the first form I wrote was deads-imple | 17:14 |
srichter | the second one was more involved in nature | 17:14 |
srichter | we need to do several things to make formlib work for us | 17:14 |
faassen | srichter: okay, I might've missed the dead-simple one as it was too short. :) | 17:14 |
srichter | for example implementing our own action views | 17:14 |
faassen | srichter: I realize that sometimes complicated setups are necessary. | 17:14 |
th1a | faassen: It is a high priority to allow third party extensions to plug into the UI easily. | 17:15 |
ignas | sometimes things that are "meant to accomodate requirements of schools in the whole world" and "meant to be easily hackable" just do not match :/ | 17:15 |
srichter | also, our tempaltes need to become formlib-compatible | 17:15 |
faassen | srichter: I'd prefer new formlib-only templates. easier to read. | 17:15 |
srichter | I agree | 17:15 |
srichter | I did not work on that mcuh, because I am waiting for your work | 17:15 |
faassen | yes, well, anyway, I'm expressing a worry. I'm worried about letting UI people hack on schooltool right now. | 17:15 |
faassen | srichter: understood. | 17:16 |
mgedmin | too late, we did that once already ;) | 17:16 |
faassen | part of this is induced by my own getting up to speed with this. | 17:16 |
faassen | mgedmin: yes, I know. | 17:16 |
* mgedmin is a bad man | 17:16 | |
th1a | Hm... so the basic templates need to be modified for formlib. | 17:16 |
th1a | ? | 17:16 |
faassen | th1a: no, just write new templates and use those with formlib, leave the basic templates alone and phase them out. | 17:16 |
faassen | anyway. | 17:16 |
th1a | OK. | 17:17 |
faassen | concerning demographics, I'm trying to get to some kind of coherent story on this which I'll mail to Tom. | 17:17 |
faassen | I intend to reuse a ton of code in there that isn't in schooltool yet. | 17:17 |
faassen | to wit, zc.resourcelibrary, zc.table, zc.catalog, hurry.query and probably something I forget. :) | 17:17 |
faassen | as basically the demographics are just some tables you can browse in various ways, with various display and edit and add forms attached. | 17:18 |
th1a | So those will all be external packages? | 17:18 |
faassen | they need to be somehow included with schooltool. | 17:18 |
* mgedmin is thinking about eggs | 17:18 | |
faassen | but they all already exist externally. | 17:18 |
srichter | faassen: that's no problem | 17:18 |
srichter | our buildout process can handle this | 17:19 |
th1a | Just some work for jinty_ perhaps. | 17:19 |
faassen | they're all pure python packages. | 17:19 |
faassen | so that's something. | 17:19 |
srichter | its a matter of changing the Makefile to check them out and adding the dependencies | 17:19 |
th1a | OK. | 17:20 |
faassen | anyway, I hope I can write mostly dirt-simple code. | 17:20 |
th1a | I hope so too ;-) | 17:20 |
th1a | That would be nice for a change. | 17:20 |
faassen | no, there's plenty of simple code around. | 17:20 |
faassen | unfortunately it's mostly not in the UI department. | 17:21 |
ignas | th1a, if i will have some free time can i contribute code from schooltool to the icalendar library faasen mentioned ? | 17:21 |
ignas | s/faasen/faassen | 17:21 |
th1a | ignas: That is an interesting question. | 17:21 |
faassen | ignas: you could trying mailing Max M about it. | 17:22 |
faassen | ignas: or mailing the icalendar-dev list. it's quiet, so you may have to poke Max M with a mail. | 17:22 |
faassen | ignas: see what he has to say, then figure out what to do. | 17:22 |
faassen | anyway, I'm speaking without knowledge of complexities here, but if schooltool code can be eliminated and replaced with something we're not maintaining directly.. | 17:22 |
faassen | and that may get a bit more eyeballs. | 17:22 |
th1a | How is that library licensed? | 17:22 |
faassen | then that's good. | 17:22 |
faassen | I think it was MIT. | 17:23 |
alga | th1a: LGPL | 17:23 |
faassen | LGPL. | 17:23 |
faassen | yeah, I was wrong. | 17:23 |
faassen | relicensing it shouldn't be a problem for Max M. | 17:23 |
povbot | /svn/commits: * srichter committed revision 5838: | 17:23 |
povbot | /svn/commits: We can now have access to the function test setup, which includes access to the root folder of the Zope application, which is our SchoolTool application. This is extremely useful when you want to check data assignment during functional tests, something that we all should do more often!!! | 17:23 |
th1a | Relicensing what, our code? | 17:23 |
faassen | th1a: no, icalendar if necessary. I know he's open to it. | 17:24 |
faassen | th1a: though LGPL is fine. | 17:24 |
alga | making it GPL would be silly | 17:24 |
th1a | Well, it is just that we have a few simple groundrules for spending Mark's money. | 17:24 |
ignas | faassen, no, the problem is not relicensing icalendar, problem is relicensing schooltool code, so i could commit it into icalendar | 17:24 |
faassen | oh, okay. | 17:24 |
th1a | Code that he pays for goes into our repository, under GPL, copyright Shuttleworth Foundation. | 17:25 |
srichter | th1a: I think we have to find a solution for this | 17:25 |
ignas | GPL -> LGPL (not really transferable, unless the copyright owner agrees to) | 17:25 |
th1a | Well, the solution would be buttonholing Mark about it. | 17:25 |
faassen | what if 5 lines of code in someone else's repository makes 100 lines of code in our repository unnecessary? | 17:25 |
th1a | I've discussed it with him, and he didn't really want to deal with it. | 17:25 |
faassen | I mean, what if I need to fix something in zc.tables because of schooltool? | 17:25 |
faassen | or in zope 3? | 17:25 |
srichter | there are a few other bits that I would like to move to the Zope 3 core, such as coloring in the test runner output and the pluggable traverser | 17:26 |
th1a | I haven't pressed it because I have limited bandwidth with him and lots of things to talk about. | 17:26 |
faassen | it's a fairly frustrating policy for an open source project. | 17:26 |
srichter | faassen: I fix bugs in Zope 3 all the time; it is not really the thing you are getting paid for | 17:26 |
mgedmin | I was thinking that if I reimplement it in Z3, without copying and pasting schooltool's, code, then that would be ok | 17:26 |
faassen | well, I mean, it depends on .. | 17:26 |
ignas | faassen, you can change Zope3 code, but you can't transfer code from schooltool repository to Zope3 repository | 17:26 |
srichter | mgedmin: that would be cool | 17:27 |
srichter | ignas: right, that's how I see it too | 17:27 |
faassen | there's tradeoffs between having code in schooltool repository versus having less code (and thus less maintenance), more eyeballs, more people using the code. | 17:27 |
th1a | If you make changes in Zope 3, that's on your personal time, officially at least. | 17:27 |
faassen | ignas: okay. | 17:27 |
ignas | like - schooltool.relationships, moving them to Zope3 would require Marks approval | 17:27 |
th1a | Basically, it comes down to Mark having a few simple rules about how we can spend his money. | 17:27 |
srichter | mgedmin: but the issue with the pluggable traverser still remains | 17:27 |
th1a | Which we do with relatively little oversight. | 17:28 |
faassen | ignas: by now there's zc.relationship which appears quite powerful at first glance. | 17:28 |
srichter | mgedmin: because I would not want to recode it or knew how to make it sufficiently different | 17:28 |
faassen | th1a: the rules I think are motivated by.. | 17:28 |
faassen | th1a: Mark not wanting us to improve things that aren't schooltool. | 17:28 |
faassen | th1a: as schooltool should be the focus. | 17:28 |
faassen | th1a: that makes sense. | 17:28 |
th1a | Right. | 17:29 |
faassen | th1a: however, sometimes we can improve schooltool drastically by dumping amounts of code in schooltool, getting it to reuse more open source bits, and chipping in there. | 17:29 |
faassen | th1a: to add in the bits we need in schooltool. | 17:29 |
faassen | th1a: it doesn't really work well in that case. | 17:29 |
srichter | right, I would do the port in my own time too, as long as we get the ok to transfer the code | 17:30 |
ignas | faassen, i think we can if the code is under GPL, though i am not sure, because the copyright stays with the original author, and should not belong to Mark Shuttleworth foundation after the code gets commited into ST repository | 17:30 |
th1a | faassen: Well, if that happens (you chip in a few lines to allow us to use open source bits), then keep it under your hat. It isn't part of your official SchoolTool work. | 17:31 |
faassen | th1a: so anyway, this means if I write a widget that makes sense for schooltool but also for everybody else, it needs to go into the ST repository. that's a shame. :) | 17:31 |
mgedmin | faassen: only if you want to get paid for that widget | 17:31 |
th1a | Oh... yes, for the time being. | 17:31 |
faassen | that sucks. :) | 17:31 |
srichter | faassen: /me has complained about that too 9 months ago ;-) | 17:32 |
faassen | well, at least we can positively compare ST here with Launchpad. :) | 17:32 |
th1a | It has ended up being more problematic than I would have thought. | 17:32 |
th1a | OK. We should wrap up. | 17:32 |
th1a | Any last words? | 17:33 |
srichter | bye | 17:33 |
alga | faassen: +1 | 17:33 |
srichter | :-) | 17:33 |
th1a | OK, have a good week folks. | 17:33 |
mgedmin | see ya | 17:33 |
faassen | okay, see you! | 17:33 |
* th1a bangs the virtual gavel. | 17:34 | |
alga | bye | 17:34 |
ignas | bye | 17:35 |
ignas | th1a, http://ignas.pov.lt/WFMC.png | 17:35 |
ignas | draft of the new workflow | 17:35 |
th1a | ignas: Thanks. | 17:35 |
ignas | Convert to - is Covert to Present | 17:36 |
th1a | So, here's what I'm worried about. | 17:36 |
th1a | The teacher has to be the teacher of that section. | 17:36 |
th1a | Not any teacher. | 17:36 |
srichter | ignas: btw, the new JaWE version 2.0 RC 2 is available | 17:37 |
th1a | Or, more precisely, one of the teachers of the section, since there may be more than one. | 17:37 |
ignas | srichter, is it any better ? | 17:37 |
srichter | it has huge UI improvements, but needs a little bit getting used to | 17:37 |
th1a | srichter: Does it make any more sense that the first one? | 17:37 |
srichter | a little bit more | 17:37 |
srichter | entering the edit screens of processes made much more sense | 17:37 |
srichter | I think it is logicially better organized as well | 17:37 |
srichter | still not very easy to use though | 17:38 |
srichter | ignas: wow, this is alreadya pretty complex workflow; I am glad you are using the library for it :-) | 17:38 |
ignas | th1a, what do you think about the idea of 2 entrance points "Create absence" and "convert to absence" | 17:39 |
srichter | ignas: can't "Reject" also lead to an "end"? | 17:39 |
tiredbones | th1a, what the asnwer to your last last question? | 17:39 |
ignas | srichter, Reject is for explanations | 17:39 |
ignas | srichter, this is explanation workflow, not attendance workflow ;) | 17:40 |
ignas | if you reject an explanation - you must write a new one ... | 17:40 |
srichter | ah ok | 17:40 |
ignas | until one is approved, or explanation workflow times out (not implemented yet) | 17:40 |
srichter | but what if you never give a proper explanation | 17:40 |
srichter | ah, ok, you have a timeout | 17:40 |
ignas | srichter, i have not writtent any code for it, and we do not support multiple roles yet, so it is not going to be any easier, i sometimes think that it is complex *because* it is a workflow | 17:40 |
srichter | I think that should be represented in the workflow itself | 17:40 |
ignas | srichter, timeouts are not supported yet | 17:41 |
srichter | right, but I think the workflow should have an end where no explanation was satisfactory | 17:41 |
srichter | that is a valid outcome | 17:41 |
ignas | srichter, afraid they were not even mentioned in the contract | 17:41 |
ignas | srichter, at the moment - it is not a valid outcome ... | 17:42 |
srichter | oops, ok, I was just commenting on what I saw | 17:42 |
srichter | ok | 17:42 |
th1a | Well, "Excuse" is perhaps a misleading term in this context. | 17:42 |
ignas | why ? | 17:43 |
srichter | I understood it :-) | 17:43 |
ignas | wait a sec, i'll post the current active workflow | 17:43 |
th1a | Because "Excuse" could include resolving the absence as "Unexcused." | 17:43 |
srichter | but maybe "Accept" is better, since you also have "reject" | 17:43 |
th1a | I think "Resolve" might be better. | 17:43 |
ignas | th1a, at the moment - there is no such thing as "Unexcused" as an end state of the workflow | 17:44 |
th1a | I don't think it needs to be a workflow state. | 17:45 |
th1a | But just a one of the codes used in resolving the absence. | 17:45 |
povbot | /svn/commits: * srichter committed revision 5839: | 17:45 |
povbot | /svn/commits: - Implemented a sensible breadcrumb for term container. | 17:45 |
ignas | http://ignas.pov.lt/WFMC-orig.png - current workflow | 17:45 |
povbot | /svn/commits: - Wrote functional tests for the browser code that I checked in last | 17:45 |
povbot | /svn/commits: night. | 17:45 |
ignas | without corrections | 17:45 |
th1a | That is, you're still in the same state in the process, that is, done. | 17:46 |
ignas | th1a, i know, picked the wrong word | 17:46 |
srichter | but Tom, this is the difference between state and process | 17:46 |
srichter | if something is unexcused, the system might want to do different things than when something is excused | 17:47 |
srichter | :-) | 17:47 |
ignas | th1a, you see, when the original workflow was designed - there were no time outs, and you could only "accept", "reject" explanations | 17:47 |
ignas | tou could not, and i don't thikn you will be able to make an absence "unexcused" deliberatly and end the workflow | 17:47 |
th1a | ignas: That's because I was trying to keep it simple ;-) | 17:47 |
th1a | srichter: I guess you're right. You might want to trigger certain events when an absence becomes officially unexcused. | 17:48 |
th1a | So that will need to be there eventually. | 17:48 |
ignas | as "unexcused" + "end state" means that - you will ignore any further explanations, even though it hasn't timed out yet ... | 17:48 |
ignas | th1a, btw - maybe i have missed it, but i can't recall "time out" of explanations being a part of any stories we are currently working on | 17:49 |
th1a | More importantly, it might trigger a call home, etc. | 17:49 |
ignas | s/explanations/workflow | 17:49 |
th1a | ignas: It isn't, I don't think. | 17:49 |
th1a | Don't worry, there will be more workflow fun to come! | 17:49 |
ignas | th1a, i see, i just wanted to be sure | 17:49 |
ignas | th1a, yay | 17:50 |
th1a | Let me walk through this. | 17:51 |
th1a | So I (a teacher) request a conversion. | 17:51 |
th1a | The administrator may approve or reject this request. | 17:51 |
ignas | yes | 17:52 |
th1a | Where does he reject it in the workflow? | 17:52 |
ignas | if he approves - the internal state of the workflow is modified to match the requested state, else - you are bounced back to the original "activity" without state being modified | 17:53 |
th1a | Oh, so are there so many arrows coming out of Approve correction because you don't know what state the absence is in currently? | 17:54 |
ignas | no, because i don't know what the state was requested | 17:55 |
ignas | s/the// | 17:55 |
ignas | if you want to convert a presence to an absence - then it can be directly converted into an excused absence/tardy, or into an unexplained absence/tardy, if administrator refuses - it is "converted" to a presence | 17:55 |
th1a | I see. | 17:56 |
ignas | one can request any state of the workflow, like "Absent/unexplained", "Present", "Tardy/15:45/explained/excused" | 17:56 |
ignas | maybe i should split the approval into 2 steps - "Approve correction" and "Make correction" | 17:57 |
ignas | with arrows from Approve - leading back to "Activities" without changing anything | 17:57 |
ignas | and arrows from "Make correction" leading to the new state with a modified workflow state | 17:58 |
th1a | That sounds like it might be a bit clearer. | 17:58 |
ignas | th1a, it's wfmc - it won't get clearer ;) | 17:58 |
*** vmx_ is now known as vmx | 17:58 | |
vmx | re | 17:58 |
th1a | So... getting back to my original question: Can we handle the fact that the 'teacher' role here isn't any teacher, but a teacher of the section in question? | 17:58 |
th1a | hi vmx. | 17:59 |
ignas | th1a, i can do that, i've seen it done before ;) maybe not in WFMC level, but on view level | 17:59 |
ignas | though - that might require a new permission :/ | 17:59 |
ignas | schooltool.section_instructor or something like that | 18:00 |
th1a | Right. I think it doesn't work in WfMC. | 18:00 |
th1a | But I'm not sure. | 18:00 |
ignas | well - you are writing adapters that map wfmc roles to schooltool users anyway, so it should not be in wfmc anyway | 18:01 |
ignas | wfmc can call the role Teacher or Section Teacher, it's app code that will have to take care of the real permissions | 18:01 |
th1a | Oh, I guess I just in over my head. | 18:01 |
ignas | though i think leaving it to views is acceptable at the moment | 18:02 |
th1a | I agree. | 18:02 |
ignas | if one can't see the "accept correction view", even if there is only 1 role in the workflow he can't break anything | 18:03 |
th1a | Yes. | 18:03 |
ignas | ok | 18:04 |
ignas | afk, going to wash my teeth/hands after talking of WFMC ;) | 18:05 |
th1a | ignas: You're welcome. | 18:06 |
srichter | ignas: th1a: well, remember the Teacher role in this workflow could mean "the teacher of the section" | 18:08 |
th1a | That would be the ideal case. | 18:09 |
srichter | I bet you the adapter that creates the WfMC participant "Teacher" could have some clever logic to ensure that not everyone can do this | 18:09 |
srichter | that would be something interesting to discuss with Jim and other people that have done WfMC workflows in Zope 3 | 18:10 |
vmx | just a small question so that i can follow the meeting perhaps a bit better: what is WfMC? | 18:11 |
srichter | it stands for Workflow Management Coalition | 18:14 |
srichter | they published a design and XML format (XPDL) to do workflows | 18:14 |
srichter | Zope 3 has a partial implementation of the WfMC workflow | 18:14 |
srichter | and it is used in SchoolTool | 18:14 |
vmx | thanks, now i can also find some information about it on my own | 18:17 |
srichter | it is not easy reading | 18:19 |
vmx | yes, but probably it's not that important for me :) | 18:21 |
th1a | vmx: A lot of extensions to SchoolTool will probably use WfMC extensively. | 18:27 |
th1a | For example, if you wanted to make an extension to handle a school's disciplinary policy. | 18:28 |
th1a | You need to make documents that are fairly simple forms, but they have to be passed around to different actors and go through a series of actions. | 18:28 |
th1a | A workflow engine like WfMC gives you a lot of power to define those processes. | 18:28 |
th1a | srichter: BTW, I got an email from Steve at the Stupski Foundation proposing that a SIF Zone Integration Server could be modeled in BPEL. | 18:29 |
th1a | I said, that sounds like too much magic. | 18:29 |
th1a | (BPEL is a different workflow standard). | 18:30 |
srichter | what was BPEL again, the other workflow standard? | 18:30 |
srichter | right | 18:30 |
srichter | Why would a workflow be necessary? | 18:30 |
*** jinty_ has quit IRC | 18:31 | |
srichter | I mean a workflow does not make the datamodel work magically | 18:31 |
th1a | Well, the Zone Integration Server is more like a router. | 18:31 |
*** jinty has joined #schooltool | 18:32 | |
th1a | It doesn't store any data. | 18:32 |
srichter | right | 18:32 |
th1a | Just who publishes/subscribes to what. | 18:32 |
srichter | well, I think this is much simplere solved using a simple subscription model | 18:32 |
th1a | I haven't tried too hard to figure out what he was driving at. | 18:32 |
srichter | ok | 18:32 |
th1a | Yes, too much magic. | 18:32 |
th1a | I just thought you might find it amusing. | 18:33 |
srichter | I agree | 18:33 |
srichter | yes, I do | 18:33 |
srichter | people are workflow crazy, because those people don't have to implement them :-) | 18:33 |
vmx | schooltool seems to be developed how you learn it in software engeneering. i never thought that any application is really developed that way ;) | 18:33 |
srichter | vmx: what are you specifically referring to? | 18:34 |
th1a | vmx: There is a reason it has taken a long time ;-) | 18:34 |
vmx | i'm referring to my first impressions | 18:34 |
srichter | well, SchoolTool is certainly the most disciplined software development environment I have been in | 18:35 |
th1a | We're not in PHP-land, Dorothy. | 18:35 |
srichter | it even made me become more disciplined, which is strange, because I am a Prussian | 18:35 |
th1a | It is because mgedmin is a strict disciplinarian. | 18:35 |
srichter | mmh, I think Lithuania used to be close to Prussia, maybe that's the reason :-) | 18:36 |
vmx | it starts with the comments in the source. i haven't seen any such good documented oss yet | 18:36 |
srichter | I'll note that the Zope 3 community as a whole is very disciplined, but SchoolTool has the extra edge | 18:36 |
vmx | and goes further with things like unit testing | 18:37 |
vmx | it is really nice to hack, as you find quite easily what you need/want in the source | 18:37 |
srichter | have you seen the devmode already? | 18:38 |
srichter | it dcouments the entire API in a Web site | 18:38 |
th1a | Perhaps devmode could be on by default in a source checkout? | 18:38 |
srichter | mmh, I just wonder how easy it would be to switch this for the release | 18:39 |
th1a | Perhaps more trouble than its worth. | 18:39 |
srichter | I usually leave it turned off, since it saves about 1-1.5 secs when starting the server | 18:39 |
srichter | that's what I am thinking | 18:40 |
*** budgester has left #schooltool | 18:41 | |
vmx | do you also get "broken pipe" errors when you edit an event? | 18:49 |
th1a | Those are harmless. | 18:50 |
th1a | Although I don't remember the exact cause. | 18:50 |
vmx | ok | 18:50 |
*** jinty has quit IRC | 18:55 | |
*** jinty has joined #schooltool | 18:56 | |
*** jinty has quit IRC | 19:19 | |
ignas | vmx, you are geting thouse, because browser closes the connection after geting a redirect, and Zope3 is still trying to write some content | 19:19 |
ignas | harmles | 19:19 |
*** jinty has joined #schooltool | 19:23 | |
*** jinty has quit IRC | 20:09 | |
*** faassen has quit IRC | 20:32 | |
*** mgedmin has quit IRC | 21:31 | |
*** alga has quit IRC | 21:37 | |
*** tiredbones has quit IRC | 21:47 | |
*** tiredbones has joined #schooltool | 21:48 | |
*** carljm has joined #schooltool | 22:05 | |
*** pcardune has joined #schooltool | 22:19 | |
*** didymo has joined #schooltool | 22:31 | |
*** jelkner has joined #schooltool | 22:33 | |
jelkner | pcardune: u're here early | 22:33 |
pcardune | yep | 22:33 |
jelkner | good | 22:33 |
jelkner | let's get some stuff done before welsh comes | 22:33 |
pcardune | yes | 22:34 |
th1a | pcardune: I talked to jinty today about the svn access, sorry I dropped the ball on that. | 22:34 |
pcardune | th1a: oh no problem, I already talked to him before | 22:35 |
jelkner | pcardune: ssh cando.apsweb.org | 22:36 |
pcardune | you have a lot of domain names | 22:36 |
jelkner | yup | 22:36 |
jelkner | cando.ypal.net goes to the same place | 22:37 |
jelkner | and bonnieb.yhspatriot.net | 22:37 |
jelkner | and a few others ;-) | 22:37 |
pcardune | wow | 22:37 |
pcardune | do i have sudo access? | 22:37 |
jelkner | i hope so | 22:37 |
jelkner | try | 22:37 |
pcardune | yeah i do | 22:38 |
jelkner | great | 22:38 |
jelkner | i put you in the admin group | 22:38 |
pcardune | I'm installing svn | 22:38 |
jelkner | glad to see that works | 22:38 |
jelkner | it's a dapper box | 22:38 |
jelkner | all yours | 22:38 |
pcardune | nice | 22:38 |
jelkner | let's make this the cando test box | 22:39 |
pcardune | ok | 22:39 |
jelkner | install cando in your home directory | 22:39 |
jelkner | you can run it on any port you like | 22:39 |
pcardune | great | 22:40 |
jelkner | i'll ask nick to setup apache virtual hosting so cando.apsweb.org on port 80 redirects to your cando instance | 22:40 |
pcardune | cool | 22:41 |
pcardune | while i am setting things up, take a look at http://www.schooltool.org/Members/pcardune/zope-3-design-pattern-questions | 22:42 |
jelkner | will do | 22:42 |
pcardune | is there a current list of dependencies for schooltool? | 22:43 |
pcardune | if so, we should put that on the schooltool site somewhere | 22:44 |
jelkner | hmm | 22:44 |
th1a | What we do need is a simple "setting up your SchoolTool development environment" howto. | 22:45 |
jelkner | it should be the same as the zope3 dependencies | 22:45 |
th1a | We require PIL in the trunk at this point. | 22:45 |
jelkner | pcardune: do you need help setting up schooltool? | 22:51 |
pcardune | schooltool svn is checking out *really slowly* | 22:51 |
*** ignas has quit IRC | 22:52 | |
jelkner | we will have at least the dependencies here: https://wiki.ubuntu.com/LearningZope3 | 22:52 |
pcardune | it seems to have frozen, i tried killing it, but that won't work | 22:52 |
jelkner | hold on... | 22:52 |
srichter | jelkner: when is the cando sprint again? | 22:53 |
jelkner | july 28 to 30 | 22:53 |
srichter | ok, we are in the green then | 22:53 |
jelkner | great! | 22:54 |
jelkner | pcardune: need help killing something? | 22:54 |
pcardune | yes | 22:54 |
pcardune | process 3938 | 22:54 |
jelkner | done | 22:54 |
pcardune | and 3839 | 22:54 |
pcardune | and 3899 | 22:55 |
jelkner | i just installed subversion make gcc python-dev libc6-dev | 22:55 |
jelkner | done | 22:55 |
jelkner | oh, they won't seem to die | 22:56 |
pcardune | yeah | 22:56 |
jelkner | oh, i got it | 22:57 |
jelkner | 3898 (make) kept recreating it | 22:57 |
jelkner | it's gone now | 22:57 |
*** flint has joined #schooltool | 22:57 | |
jelkner | hey paul | 22:57 |
pcardune | ok, it seems to be going now | 22:57 |
flint | jelkner, Hi I am under the gun on another project, so I will be only glancing in and not making the kind of trouble you have grown to expect... | 22:58 |
pcardune | lol | 22:58 |
jelkner | i'm *so* disappointed! | 22:58 |
jelkner | i was hoping you had time to play with bzr a bit | 22:58 |
pcardune | the speed of the Zope3 svn servers never cease to amaze me | 22:59 |
jelkner | pcardune: can you try to check out wdickers bzr changes? | 22:59 |
pcardune | sure | 22:59 |
pcardune | on maddog? | 22:59 |
jelkner | bzr pull http://maddog.yhspatriot.net/~wdickers/timeclock | 22:59 |
pcardune | did he set up public_html symlink? | 23:00 |
jelkner | yup | 23:00 |
pcardune | do you want me to pull them into the main repo? | 23:00 |
jelkner | yes, but look at them first | 23:00 |
jelkner | this was cool | 23:00 |
jelkner | first i made changes and will pulled them from me | 23:01 |
jelkner | then he made changes | 23:01 |
pcardune | can i do a diff between two branches? | 23:01 |
jelkner | i'm sure you can | 23:01 |
jelkner | but i've never done that | 23:01 |
jelkner | try | 23:01 |
jelkner | we now have a real opportunity to learn bzr | 23:01 |
jelkner | cool | 23:01 |
pcardune | i don't think you can, i think i have to pull them, and then look at changes between revisions | 23:02 |
jelkner | ok | 23:02 |
jelkner | try that | 23:02 |
tiredbones | jelkner, what is bzr? | 23:02 |
jelkner | it is a distributed revision control system developed by martin poole of cannonical | 23:03 |
jelkner | it is the system currently being used by the launchpad developers | 23:03 |
*** heriL has joined #schooltool | 23:03 | |
jelkner | (i may have mispelled martin's last name :-( | 23:03 |
pcardune | whoa... oh, i just did a bzr pull with no specified repo, and it pulled from your maddog | 23:04 |
tiredbones | Is this somethong that's going to replace svn/ | 23:04 |
jelkner | tiredbones: it depends | 23:04 |
jelkner | svn is a centralized system | 23:04 |
jelkner | bzr is distributed | 23:04 |
jelkner | they are different | 23:05 |
jelkner | depends on what you need | 23:05 |
tiredbones | ok | 23:05 |
jelkner | pcardune: could you get will's changes? | 23:06 |
pcardune | uh oh, the latest schooltool trunk broke cando | 23:06 |
pcardune | yeah i did | 23:06 |
pcardune | let me see if I can fix it quickly | 23:06 |
jelkner | cool, i just pulled in the changes from you | 23:07 |
*** heriL has quit IRC | 23:10 | |
jelkner | dwelsh must have forgotten about the meeting | 23:12 |
jelkner | i can't reach him on cell or work | 23:12 |
jelkner | i'll give it a few more minutes, but then i gotta run | 23:12 |
* tiredbones reading about bzr. | 23:12 | |
jelkner | pcardune: are you going to send us homework before you leave for camping? | 23:13 |
jelkner | tiredbones: bzr rocks! | 23:13 |
pcardune | yeah | 23:13 |
pcardune | i said it in class, but i should send out a proper email | 23:13 |
jelkner | please, cause i left before you gave it to us | 23:13 |
tiredbones | pcardune, how to restart your zope server. manage process -> server control then click restart | 23:15 |
tiredbones | Dose that do it for you? | 23:16 |
pcardune | that is one way | 23:16 |
tiredbones | What other way where you looking for? | 23:17 |
pcardune | if you are running it with zopectl then you can just say "zopectl restart" in a command prompt | 23:17 |
tiredbones | yes, I know. | 23:18 |
pcardune | or you can just kill the process and restart it | 23:19 |
pcardune | i don't know that there are any other ways | 23:19 |
jelkner | pcardune: seeing now welsh, i'm going to head out | 23:19 |
jelkner | today was a good day | 23:20 |
jelkner | the cando testing server is in place | 23:20 |
pcardune | you are leaving? | 23:20 |
jelkner | that was my plan, why? | 23:20 |
jelkner | i'm still at school and i need to go pick up my son | 23:20 |
jelkner | i have til 5 | 23:20 |
pcardune | I was hoping you would take a brief look at what I had so far | 23:20 |
jelkner | ok | 23:21 |
jelkner | let's do that | 23:21 |
jelkner | how? | 23:21 |
jelkner | do you have cando setup yet? | 23:21 |
pcardune | i just thought I had it set up | 23:22 |
pcardune | give me one minute | 23:22 |
pcardune | ok | 23:25 |
pcardune | http://cando.apsweb.org:8080 | 23:25 |
pcardune | sorry, port 7080 | 23:25 |
jelkner | ok, i'm there | 23:26 |
pcardune | log in | 23:26 |
pcardune | as manager/schooltool | 23:26 |
pcardune | then click on Competencies | 23:27 |
pcardune | this is a place where the school would put global competencies... like that whole yorktown ROCS business | 23:27 |
* Gwynn is away: Ik ben bezig | 23:28 | |
pcardune | you will see another Competencies link in the actions menu for courses, and for sections | 23:28 |
pcardune | you can make competencies inherited from other sets of competencies using the Manage Bases action | 23:29 |
*** jinty has joined #schooltool | 23:29 | |
pcardune | ignore the "new requirement" and "edit requirement" links for now | 23:29 |
jelkner | wait, paul, let's actually try this for cs 1 | 23:29 |
pcardune | I agree | 23:29 |
srichter | pcardune: I really want to remove the browser package from "schooltool.requirement", it is not helpful and adds links that I do not want there :-) | 23:30 |
jelkner | should i create a teacher first | 23:30 |
jelkner | ? | 23:30 |
pcardune | srichter: I'll do it today :), because i have the same issues with it. I just want to move one of the browser classes first | 23:30 |
pcardune | jelkner: go ahead and create a teacher, course, and section | 23:30 |
jelkner | pcardune: wait, i'm not going to have time to do this today, i need to pick up my son | 23:31 |
pcardune | ok | 23:31 |
jelkner | i'll create that stuff with welsh on thursday | 23:31 |
pcardune | should I write up instructions | 23:31 |
pcardune | ? | 23:31 |
jelkner | and talk to you more about it when you get back from the wilderness | 23:31 |
jelkner | welsh will be able to figure it out, no? | 23:31 |
srichter | pcardune: write up instructions as a functional test :-) | 23:32 |
pcardune | srichter: I have been having serious issues with functional tests | 23:32 |
jelkner | pcardune: same time next week? | 23:32 |
pcardune | srichter: the ellipses works sometimes and not other times (in the same test!) | 23:32 |
pcardune | jelkner: yes | 23:33 |
jelkner | ok, and you'll send us homework, yes? | 23:33 |
pcardune | yeah | 23:33 |
srichter | pcardune: hah, I know you do wrong :-) | 23:33 |
jelkner | good, gotta run, have fun camping! | 23:33 |
pcardune | jelkner: thanks, bye | 23:33 |
*** jelkner has quit IRC | 23:33 | |
srichter | the ellipsis must represent at *least* one character | 23:33 |
pcardune | srichter: whitespace included? | 23:33 |
srichter | so if you have: [1, 2, 3] | 23:33 |
srichter | yes | 23:34 |
srichter | this will not work: | 23:34 |
srichter | [ | 23:34 |
pcardune | what if you have normalize whitespace? | 23:34 |
srichter | 1, | 23:34 |
srichter | 2, | 23:34 |
srichter | 3 | 23:34 |
srichter | ] | 23:34 |
srichter | because there is no character between [ and 1 | 23:34 |
srichter | and 3 and ] | 23:34 |
pcardune | what if I am just trying to match a line that looks like: | 23:35 |
pcardune | this is indented text | 23:35 |
srichter | also the diffs you get when using ellipsis with full HTML source can be misleading | 23:35 |
srichter | oh, you cannot do this either: | 23:35 |
pcardune | would i put: "...this is indented text" | 23:35 |
srichter | >>> print 'match everything' | 23:35 |
srichter | ... | 23:35 |
srichter | a line cannot start with ellipsis | 23:36 |
srichter | so you need: | 23:36 |
srichter | >>> 'match everything' | 23:36 |
srichter | '...' | 23:36 |
srichter | >>> print ' this indented text' | 23:36 |
srichter | this indented text | 23:36 |
srichter | this will work, because whitespace is always ignored | 23:37 |
srichter | (at least it is an option that we always turn on) | 23:37 |
pcardune | what if i'm not sure whether there will be stuff around "this indented text" or not? | 23:38 |
srichter | then you can use the ellipsis, but you have to know the first non-space character | 23:38 |
srichter | the way I do this is: | 23:38 |
srichter | >>> ' the indeneted text' | 23:39 |
srichter | '...the indented text...' | 23:39 |
pcardune | yeah, see, i do that but it does like it | 23:39 |
srichter | oh, this would not work, because there is no space between t and ' | 23:40 |
srichter | so you need | 23:40 |
srichter | >>> ' the indeneted text' | 23:40 |
srichter | '...the indented text' | 23:40 |
srichter | btw, you should avoid testing for large amount of text | 23:40 |
srichter | in ftests I prefer using the testbrowser api or: | 23:40 |
srichter | >>> 'This is text' in browser.contents | 23:41 |
srichter | True | 23:41 |
pcardune | could you look at http://svn.schooltool.org/cando/trunk/src/cando/curriculum/browser/README.txt by any chance? that is where I am having the problems | 23:41 |
pcardune | srichter: that works for me, but then it doesn't check for order | 23:41 |
pcardune | the last test is the one that is killing me | 23:43 |
srichter | right, I stopped checking for those sort of things, because they make tests brittle | 23:43 |
pcardune | no kidding | 23:43 |
pcardune | so what do you recommend? | 23:43 |
srichter | but you can always get the index of a substring in the string | 23:43 |
srichter | I am surprized this does not work | 23:44 |
pcardune | i'll post the diff | 23:44 |
srichter | have you looked at the HTML output analyzer? | 23:45 |
srichter | it allows you to specify an XPath expression and get the result | 23:45 |
pcardune | oh no... not XPath... i think i looked at that before the testbrowser package existed | 23:45 |
pcardune | and found it to be a bit of a pain | 23:46 |
pcardune | I guess I don't really need to test for oder | 23:46 |
pcardune | order* | 23:46 |
pcardune | as a good zope developer, what are the set of things you would recommend testing in an UI? | 23:46 |
srichter | links, controls | 23:47 |
srichter | error, warning and status messages | 23:47 |
srichter | specific things for a particular view | 23:47 |
*** jinty has quit IRC | 23:47 | |
srichter | for the analyze function see: | 23:47 |
srichter | schooltool.app.browser.ftests/notes.txt | 23:47 |
srichter | search for analyze.queryHTML | 23:48 |
pcardune | http://dc.ubuntu-us.org/~pcardune/testOutput.txt if you're curious | 23:48 |
pcardune | ok, thanks | 23:48 |
*** jinty has joined #schooltool | 23:48 | |
pcardune | i also have one issue with unit tests and imports | 23:48 |
pcardune | if i have in some code: from schooltool.app import browser... and then later browser.app.SomeClass()... it works fine running schooltool, but when running the tests it says that the module 'browser' has no attribute 'app' | 23:49 |
srichter | you can remove all of the front ellipsis for starters | 23:49 |
srichter | the ones at the end of the line pick the stuff up already | 23:50 |
srichter | ok, that is easy to fix | 23:50 |
srichter | just also state this in the tests: | 23:50 |
srichter | import schooltool.app.browser.app | 23:50 |
srichter | Python does lazy importing | 23:51 |
pcardune | that seems like a pain, why don't unittests work like python? | 23:51 |
pcardune | that seems like a major flaw in unittests | 23:51 |
srichter | they do | 23:52 |
srichter | but in PYthon you have already imported a lot more and schooltool.app.browser.app has been imported by other code | 23:52 |
srichter | unittests load much less | 23:52 |
srichter | this this module has not been preloaded | 23:52 |
*** carljm has quit IRC | 23:53 | |
pcardune | ooh | 23:53 |
pcardune | so should i put that in the tests.py or in the actual doctest? | 23:53 |
srichter | whereever you prefer | 23:53 |
srichter | I usually put it into the doctets | 23:53 |
pcardune | although they aren't really part of the documentation? | 23:54 |
srichter | well, I think they are | 23:57 |
srichter | you tell the user the truth of what has to be done to get it working in isolation | 23:57 |
srichter | but you can decide this for yourself | 23:57 |
pcardune | ok, fair enough | 23:58 |
pcardune | thanks for the help | 23:58 |
srichter | no problem | 23:58 |
pcardune | someone should write up documentation on this "common problems with zope doctests"... maybe I will at some point | 23:59 |
pcardune | or maybe it will just be called "Paul's problems with zope doctests" | 23:59 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!