IRC log of #schooltool for Tuesday, 2006-03-21

*** vmx_ has joined #schooltool00:28
*** vmx has quit IRC00:30
*** carljm has joined #schooltool00:46
*** ryanakca has joined #schooltool00:48
*** vmx_ is now known as vmx00:56
ryanakcaHow do you add a user for schooltool... Its running on my kubuntu system on port 1078...00:58
vmxryanakca: you click on "persons" and then in "actions" on "new person"01:00
ryanakcaummm... I need to login to access "persons"01:01
ryanakcais there a default user & pass or ???01:01
vmxif it is the standard installation it is probably "manager" as user and "schooltool" as password01:01
vmxat least it is on debian01:02
ryanakcavmx: thanks it works... its kubuntu (based on ubuntu, based on debian) :)01:02
vmxryanakca: np :)01:03
*** bimberi has joined #schooltool01:04
*** Burgwork has joined #schooltool01:04
*** Burgwork has left #schooltool01:04
*** ryanakca has left #schooltool01:08
*** ryanakca has joined #schooltool01:10
ryanakcame again, what port does schoolbell run on? 7080?01:10
vmxif it doesn't work, try 718001:13
vmxor look in the /etc/schooltool/schooltool.conf01:13
ryanakcavmx: yep, 7180... I take it it uses 7180 since schooltool uses 7080?01:18
vmxryanakca:  sorry, i don't understand your question01:19
*** Gwynn has joined #schooltool01:19
*** bimberi has left #schooltool01:30
vmxare there any plans to make schooltool xhtml compliant?01:41
ryanakcavmx: schoolbell works on port 7180, schooltool 7080. I take it that schoolbell is using port 7180 because schooltool is using port 7080?01:49
vmxah, 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 IRC02: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
vmxi 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 #schooltool04:14
*** pcardune has quit IRC04:26
*** pcardune_ has joined #schooltool05:17
*** _pcardune has quit IRC05:32
vmxi try to edit the css of the calendar week-view. i changed src/schooltool/skin/resources/layout.css but the changes doesn't take affect06:36
vmxah, i need to restart if i change the layout.css06:45
th1avmx:  Is SchoolTool not XHTML compliant?  If it isn't, it is a bug.06:54
vmxno it isn't07:00
vmxe.g. the weekview07:00
th1aWhat's the problem?07:03
vmxsome tags arent't closed07:06
vmxand one <a> has an attribut "start" (but thats perhaps a missing colon in the *.pt)07:06
vmxand table has "height" attributes07:07
vmxthe <td>s in <table>07:07
vmxtime to get some sleep, g'night07:26
*** vmx is now known as vmx_afk07:27
vmx_afkbefore i go a screenshot of my hacking attemps:
th1avmx:  Let me know if you want checkin privileges.07:36
th1aWe need a few people fussing with the HTML.07:36
vmx_afkoh, i'm far from "checkinable" ;) it was the first day i was hacking schooltool07:37
vmx_afkbut i can help cleaning up the html07:37
th1aWe NEED that.07:37
vmx_afkyou need people who know html?07:38
th1aNeed people to pay attention to how things look.07:38
th1aWe've had only programmers working on the app for a while.07:38
th1aWe have a web design deficit.07:39
vmx_afka cool. i like webdesign but also interface design :)07:39
th1aI have some people coming on who are more design oriented.07:40
th1aBut nobody has owned the look and feel of the app in a while.07:40
th1aAnd I don't have much of a feel for it either.07:40
vmx_afkok, we will see what i can do. but now i need some sleep07:41
th1aGood night.07:41
*** pcardune_ has quit IRC07:48
*** kzzl has joined #schooltool08:37
*** kzzl has left #schooltool08:37
*** vmx_ has joined #schooltool09:08
*** vmx_afk has quit IRC09:10
*** auxesis has quit IRC10:08
*** auxesis has joined #schooltool10:10
*** auxesis has quit IRC10:10
*** auxesis has joined #schooltool10:11
*** mgedmin has joined #schooltool10:47
*** alga has joined #SchoolTool10:48
*** ignas has joined #schooltool11:18
*** budgester has joined #schooltool12:03
*** didymo has quit IRC12:20
*** faassen has joined #schooltool12:56
*** jinty has joined #schooltool14:20
*** budgester has quit IRC15:47
*** Gwynn has joined #schooltool15:55
*** jinty_ has joined #schooltool16:07
*** jinty has quit IRC16:16
th1aHello all.16:31
srichtergood morning16:31
th1aI'll start with a quick update on what I've been up to.16:31
th1aAs most of you know, I was in San Diego last week visiting High Tech High.16:32
th1aUpdating them on what's going on.16:32
faassenhi there.16:32
th1aWe worked on ideas about how to have them test the gradebook in the fall.16:33
th1aI'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
th1aToday 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
th1aParticularly trying to determine if I have enough money to bring someone from Infrae over.16:34
th1aSo that's something faassen & kitblake can consider.16:35
th1aWe're doing a sprint at a regional conference for open source in education.16:36
th1aThat is, consider if you would want to fly over to the states at our expense for a few days in July.16:36
th1aThe plan is to bring alga over too, and most of the CanDo people will be attending as well.16:37
th1aAlso, 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
th1aThose are my main work items.16:38
faassento make this clear, we're talking about 1 sprint, right?16:38
th1aLet's do POV, then Infrae, then srichter.16:38
faassenthe one at the conference.16:38
th1afaassen:  Yes.16:38
th1aThere's also going to be a CanDo sprint in Virginia at the end of July that srichter and I will be attending.16:39
th1aBut there isn't a budget to fly people over from Europe for that one.16:39
th1aOK... POV?16:39
ignaswriting it16:40
ignasth1a, last week, we have been working on some timezone bugs, namely revising the icalendar import code, so we could add timezones to events eventualy16:40
ignasth1a, that took too much time though, so we are going to concentrate on getting the most important bugs fixed first16:40
faassenconcerning icalendar, there's still the icalendar library.16:40
faassenwhich I pointed out to you long ago. it's still there.16:41
faassenI used it in CalCore work. it's quite pleasant.16:41
ignasthough this week i am going to spend working on our internal project, as we have a very close deadline16:41
faassenI'm sure it could use improvements, but then a Python library would get improved by us.16:42
faassenin the not reinventing wheels department.16:42
algagood point.16:42
ignaslooking at it now16:43
faassenI just had to think of it again when I saw icalendar related checkins.16:43
th1aYes, our desires to unify the Python calendaring world got hung up on licensing and copyright, and the ground rules of this project.16:44
faassenyeah, I'm guilty of reinventing the calendaring wheel with CalCore too.16:44
faassenbut not for lack of trying to work with schooltool. :)16:44
ignasthough 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
faassenanyway what I ended up doing is digging up this icalendar project and giving it its web page, etc.16:45
ignaswill check the assumption more closely though16:45
faassenright, I believe that there was a recommendation on the list concerning the use of dateutil there.16:45
faassenapparently it's capable of interpreting some icalendar bits.16:45
faassendateutil also has a recurrence implementation.16:45
faassenanyway, I just wanted to stir things up a bit, let's pass on to something else. :()16:46
ignasfaassen, migrating from pytz tzinfo to dateutil might be troublesome :/16:46
faassenignas: I'm sure you know more about it than I do.16:46
th1aSo ignas is doing other work this week.  Are others at POV working on SchoolTool?16:47
faassenignas: 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
ignasth1a, afraid not this week, but as soon as we will complete the side projects, we're all on school tool16:48
th1aOK.  As long as I know what's going on.16:49
ignasand i am going to estimate the changes you asked me about some time today16:49
th1aAbout fixing the permissions in this contract?16:49
ignassorry, for not doing that earlier16:49
ignaswas carried away by programming tasks16:49
th1aIt 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
th1ait 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
th1aSo we're probably going to rearrange some things to make sure the permissions are done sooner rather than later.16:52
th1aI seem to have a tendency to put off dealing with access control.16:52
th1aI'm afraid of it.16:53
th1aOK... srichter?16:53
srichterI have been working on the term, course, section and gradebook obejcts the past two weeks16:53
faassennote that I suspect dealing with access control has a lot to do with the UI.16:54
th1aOops.  I deviated from my order.16:54
faasseni.e. you can have an access control system that can do everything but is unusable.16:54
srichterTom and I had several meetings about this to work it all out16:54
th1afaassen:  Good point.16:54
ignasfaassen, yes :) have you seen my email that was summarizing schooltool issues ?16:54
faassenignas: which list?16:54
srichterit turns out that terms are really the central component for schooltool that will control a bunch of tasks16:54
faassenignas: and when?16:55
srichteryou can read about the design in schooltool.term/README.txt16:55
faassensrichter: on a branch?16:55
th1asrichter:  Are you working on a branch now?16:56
srichterI tried hard to have a simple of an API as possible, but the set of requirements we had very very daunting16:56
srichteryes, the branch I am constantly checking in to16:56
ignas"Things wrong with SchoolTool", by schooltool-dev16:56
faassenso not just schooltool.term/README16:56
ignasOct 21, 2005 3:42 PM16:56
faassenignas: old stuff, no, hadn't seen that. I think.16:56
faassenI will read that.16:57
th1aSo terms are changing quite a bit.16:58
srichterI am pretty much done with the Term API16:58
th1aThey are hierarchical, for one thing.16:58
srichtertheir structure is very important too16:58
srichternot all terms manage schooldays16:58
faassendo terms contain content?16:58
srichteronly one, by default the academic year, will manage school days16:59
faassenoh, I see you have term templates. :)16:59
srichteryes, they contain sub-terms16:59
srichteryes, I had to introduce them :-(16:59
srichterI tried hard not to, but it makes the usage much more sane16:59
th1aBut we didn't really deal with the question of whether or not a term should contain its sections, for example.17:00
faassenright, that's why I asked.17:00
srichterI also have some logical diagrams and screen mockups, so Tom might want to put them online17:00
*** Gwynn has quit IRC17:00
srichteror create a nice document from it17:00
*** Gwynn has joined #schooltool17:00
th1asrichter:  So the diagrams are still accurate -- that's how they are implemented?17:01
srichterth1a: yes17:01
srichterth1a: in fact screen mockup (A) is now implemented ina  simple form17:01
th1aSo what are the ways the term changes might effect stuff POV is working on?17:02
tiredbonessrichter, the public do not have access to these documents yet?17:02
srichterth1a: what is POV working on?17:02
srichtertiredbones: no17:02
th1aWell, attendance.17:02
srichterright now nothing17:02
th1aI'm speaking broadly.17:02
ignasattendance, and some timezone/timetable bugs17:02
th1atiredbones:  I can get those out to the list.17:03
srichterall they care about is checking the school days17:03
tiredbonesth1a, 6thanks17:03
srichterI will have an answer on how to get to this info when I merge17:03
*** budgester has joined #schooltool17:03
th1aAnything else srichter?17:04
srichtereventually, attendance wants to listen to some events we are creating for the terms17:04
srichteroh, and I will be pretty much quiet the next weeks till I am going to Europe17:04
th1aDoing Physics!17:05
srichterbecause 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
srichterok, I am done17:05
ignasth1a, 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
th1aignas:  Of course.17:06
th1aYes, I think it might end up being a bit tricky.17:06
th1aOK, faassen?17:06
faassenI'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
th1aHow are you making UI hacking safer?17:09
faassenwell, the package is one part of it.17:09
th1aAh.  Separating it.17:09
faassenbut currently I consider the schooltool UI too well factored to be easy to hack on for non-gurus.17:09
faassenthe level of component-guruhood required is too high right now, in my opinion.17:10
faassenanyway, I will need to develop a way to make that easier.17:10
th1aWhat do you have in mind?17:11
th1aIt seems like something that would be extremely helpful.17:11
faassenyeah, I'm mostly just thinking.17:11
faassenseparating out so it's independently usable.17:11
faassenI 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
ignasfaassen, 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
faassenI also have hopes we can reuse some high-level components such as zc.table and formlib17:12
ignasbecause iirc we are striving for the first one17:12
faassenignas: I don't know. :)17:12
faassenignas: I cannot fully evaluate how successful schooltool has gotten in the first department.17:13
srichterI have started using formlib in my branch17:13
faassenanyway, 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
faassenand I don't expect the average UI hacker can use it then.17:13
ignasfaassen, not very successful, but viewlets, and srichters major refactoring are getting us there17:13
th1aignas: I would agree that the first goal is more important than the second.17:13
faassensrichter: 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
faassensrichter: it's good for that, but not easy to hack on.17:14
srichterthe first form I wrote was deads-imple17:14
srichterthe second one was more involved in nature17:14
srichterwe need to do several things to make formlib work for us17:14
faassensrichter: okay, I might've missed the dead-simple one as it was too short. :)17:14
srichterfor example implementing our own action views17:14
faassensrichter: I realize that sometimes complicated setups are necessary.17:14
th1afaassen:  It is a high priority to allow third party extensions to plug into the UI easily.17:15
ignassometimes 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
srichteralso, our tempaltes need to become formlib-compatible17:15
faassensrichter: I'd prefer new formlib-only templates. easier to read.17:15
srichterI agree17:15
srichterI did not work on that mcuh, because I am waiting for your work17:15
faassenyes, well, anyway, I'm expressing a worry. I'm worried about letting UI people hack on schooltool right now.17:15
faassensrichter: understood.17:16
mgedmintoo late, we did that once already ;)17:16
faassenpart of this is induced by my own getting up to speed with this.17:16
faassenmgedmin: yes, I know.17:16
* mgedmin is a bad man17:16
th1aHm... so the basic templates need to be modified for formlib.17:16
faassenth1a: no, just write new templates and use those with formlib, leave the basic templates alone and phase them out.17:16
faassenconcerning demographics, I'm trying to get to some kind of coherent story on this which I'll mail to Tom.17:17
faassenI intend to reuse a ton of code in there that isn't in schooltool yet.17:17
faassento wit, zc.resourcelibrary, zc.table, zc.catalog, hurry.query and probably something I forget. :)17:17
faassenas basically the demographics are just some tables you can browse in various ways, with various display and edit and add forms attached.17:18
th1aSo those will all be external packages?17:18
faassenthey need to be somehow included with schooltool.17:18
* mgedmin is thinking about eggs17:18
faassenbut they all already exist externally.17:18
srichterfaassen: that's no problem17:18
srichterour buildout process can handle this17:19
th1aJust some work for jinty_ perhaps.17:19
faassenthey're all pure python packages.17:19
faassenso that's something.17:19
srichterits a matter of changing the Makefile to check them out and adding the dependencies17:19
faassenanyway, I hope I can write mostly dirt-simple code.17:20
th1aI hope so too ;-)17:20
th1aThat would be nice for a change.17:20
faassenno, there's plenty of simple code around.17:20
faassenunfortunately it's mostly not in the UI department.17:21
ignasth1a, if i will have some free time can i contribute code from schooltool to the icalendar library faasen mentioned ?17:21
th1aignas:  That is an interesting question.17:21
faassenignas: you could trying mailing Max M about it.17:22
faassenignas: or mailing the icalendar-dev list. it's quiet, so you may have to poke Max M with a mail.17:22
faassenignas: see what he has to say, then figure out what to do.17:22
faassenanyway, 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
faassenand that may get a bit more eyeballs.17:22
th1aHow is that library licensed?17:22
faassenthen that's good.17:22
faassenI think it was MIT.17:23
algath1a: LGPL17:23
faassenyeah, I was wrong.17:23
faassenrelicensing 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
th1aRelicensing what, our code?17:23
faassenth1a: no, icalendar if necessary. I know he's open to it.17:24
faassenth1a: though LGPL is fine.17:24
algamaking it GPL would be silly17:24
th1aWell, it is just that we have a few simple groundrules for spending Mark's money.17:24
ignasfaassen, no, the problem is not relicensing icalendar, problem is relicensing schooltool code, so i could commit it into icalendar17:24
faassenoh, okay.17:24
th1aCode that he pays for goes into our repository, under GPL, copyright Shuttleworth Foundation.17:25
srichterth1a: I think we have to find a solution for this17:25
ignasGPL -> LGPL (not really transferable, unless the copyright owner agrees to)17:25
th1aWell, the solution would be buttonholing Mark about it.17:25
faassenwhat if 5 lines of code in someone else's repository makes 100 lines of code in our repository unnecessary?17:25
th1aI've discussed it with him, and he didn't really want to deal with it.17:25
faassenI mean, what if I need to fix something in zc.tables because of schooltool?17:25
faassenor in zope 3?17:25
srichterthere 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 traverser17:26
th1aI haven't pressed it because I have limited bandwidth with him and lots of things to talk about.17:26
faassenit's a fairly frustrating policy for an open source project.17:26
srichterfaassen: I fix bugs in Zope 3 all the time; it is not really the thing you are getting paid for17:26
mgedminI was thinking that if I reimplement it in Z3, without copying and pasting schooltool's, code, then that would be ok17:26
faassenwell, I mean, it depends on ..17:26
ignasfaassen, you can change Zope3 code, but you can't transfer code from schooltool repository to Zope3 repository17:26
srichtermgedmin: that would be cool17:27
srichterignas: right, that's how I see it too17:27
faassenthere'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
th1aIf you make changes in Zope 3, that's on your personal time, officially at least.17:27
faassenignas: okay.17:27
ignaslike - schooltool.relationships, moving them to Zope3 would require Marks approval17:27
th1aBasically, it comes down to Mark having a few simple rules about how we can spend his money.17:27
srichtermgedmin: but the issue with the pluggable traverser still remains17:27
th1aWhich we do with relatively little oversight.17:28
faassenignas: by now there's zc.relationship which appears quite powerful at first glance.17:28
srichtermgedmin: because I would not want to recode it or knew how to make it sufficiently different17:28
faassenth1a: the rules I think are motivated by..17:28
faassenth1a: Mark not wanting us to improve things that aren't schooltool.17:28
faassenth1a: as schooltool should be the focus.17:28
faassenth1a: that makes sense.17:28
faassenth1a: 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
faassenth1a: to add in the bits we need in schooltool.17:29
faassenth1a: it doesn't really work well in that case.17:29
srichterright, I would do the port in my own time too, as long as we get the ok to transfer the code17:30
ignasfaassen, 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 repository17:30
th1afaassen:  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
faassenth1a: 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
mgedminfaassen: only if you want to get paid for that widget17:31
th1aOh... yes, for the time being.17:31
faassenthat sucks. :)17:31
srichterfaassen: /me has complained about that too 9 months ago ;-)17:32
faassenwell, at least we can positively compare ST here with Launchpad. :)17:32
th1aIt has ended up being more problematic than I would have thought.17:32
th1aOK.  We should wrap up.17:32
th1aAny last words?17:33
algafaassen: +117:33
th1aOK, have a good week folks.17:33
mgedminsee ya17:33
faassenokay, see you!17:33
* th1a bangs the virtual gavel.17:34
ignasdraft of the new workflow17:35
th1aignas:  Thanks.17:35
ignasConvert to - is Covert to Present17:36
th1aSo, here's what I'm worried about.17:36
th1aThe teacher has to be the teacher of that section.17:36
th1aNot any teacher.17:36
srichterignas: btw, the new JaWE version 2.0 RC 2 is available17:37
th1aOr, more precisely, one of the teachers of the section, since there may be more than one.17:37
ignassrichter, is it any better ?17:37
srichterit has huge UI improvements, but needs a little bit getting used to17:37
th1asrichter:  Does it make any more sense that the first one?17:37
srichtera little bit more17:37
srichterentering the edit screens of processes made much more sense17:37
srichterI think it is logicially better organized as well17:37
srichterstill not very easy to use though17:38
srichterignas: wow, this is alreadya  pretty complex workflow; I am glad you are using the library for it :-)17:38
ignasth1a, what do you think about the idea of 2 entrance points "Create absence" and "convert to absence"17:39
srichterignas: can't "Reject" also lead to an "end"?17:39
tiredbonesth1a, what the asnwer to your last last question?17:39
ignassrichter, Reject is for explanations17:39
ignassrichter, this is explanation workflow, not attendance workflow ;)17:40
ignasif you reject an explanation - you must write a new one ...17:40
srichterah ok17:40
ignasuntil one is approved, or explanation workflow times out  (not implemented yet)17:40
srichterbut what if you never give a proper explanation17:40
srichterah, ok, you have a timeout17:40
ignassrichter, 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 workflow17:40
srichterI think that should be represented in the workflow itself17:40
ignassrichter, timeouts are not supported yet17:41
srichterright, but I think the workflow should have an end where no explanation was satisfactory17:41
srichterthat is a valid outcome17:41
ignassrichter, afraid they were not even mentioned in the contract17:41
ignassrichter, at the moment - it is not a valid outcome ...17:42
srichteroops, ok, I was just commenting on what I saw17:42
th1aWell, "Excuse" is perhaps a misleading term in this context.17:42
ignaswhy ?17:43
srichterI understood it :-)17:43
ignaswait a sec, i'll post the current active workflow17:43
th1aBecause "Excuse" could include resolving the absence as "Unexcused."17:43
srichterbut maybe "Accept" is better, since you also have "reject"17:43
th1aI think "Resolve" might be better.17:43
ignasth1a, at the moment - there is no such thing as "Unexcused" as an end state of the workflow17:44
th1aI don't think it needs to be a workflow state.17:45
th1aBut 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 - current workflow17:45
povbot/svn/commits: - Wrote functional tests for the browser code that I checked in last17:45
povbot/svn/commits: night.17:45
ignaswithout corrections17:45
th1aThat is, you're still in the same state in the process, that is, done.17:46
ignasth1a, i know, picked the wrong word17:46
srichterbut Tom, this is the difference between state and process17:46
srichterif something is unexcused, the system might want to do different things than when something is excused17:47
ignasth1a, you see, when the original workflow was designed - there were no time outs, and you could only "accept", "reject" explanations17:47
ignastou could not, and i don't thikn you will be able to make an absence "unexcused" deliberatly and end the workflow17:47
th1aignas:  That's because I was trying to keep it simple ;-)17:47
th1asrichter:  I guess you're right.  You might want to trigger certain events when an absence becomes officially unexcused.17:48
th1aSo that will need to be there eventually.17:48
ignasas "unexcused" + "end state" means that - you will ignore any further explanations, even though it hasn't timed out yet ...17:48
ignasth1a, 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 on17:49
th1aMore importantly, it might trigger a call home, etc.17:49
th1aignas:  It isn't, I don't think.17:49
th1aDon't worry, there will be more workflow fun to come!17:49
ignasth1a, i see, i just wanted to be sure17:49
ignasth1a, yay17:50
th1aLet me walk through this.17:51
th1aSo I (a teacher) request a conversion.17:51
th1aThe administrator may approve or reject this request.17:51
th1aWhere does he reject it in the workflow?17:52
ignasif 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 modified17:53
th1aOh, 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
ignasno, because i don't know  what the state was requested17:55
ignasif 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 presence17:55
th1aI see.17:56
ignasone can request any state of the workflow, like "Absent/unexplained", "Present", "Tardy/15:45/explained/excused"17:56
ignasmaybe i should split the approval into 2 steps - "Approve correction" and "Make correction"17:57
ignaswith arrows from Approve - leading back to "Activities" without changing anything17:57
ignasand arrows from "Make correction" leading to the new state with a modified workflow state17:58
th1aThat sounds like it might be a bit clearer.17:58
ignasth1a, it's wfmc - it won't get clearer ;)17:58
*** vmx_ is now known as vmx17:58
th1aSo... 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
th1ahi vmx.17:59
ignasth1a, i can do that, i've seen it done before ;) maybe not in WFMC level,  but on view level17:59
ignasthough - that might require a new permission :/17:59
ignasschooltool.section_instructor or something like that18:00
th1aRight.  I think it doesn't work in WfMC.18:00
th1aBut I'm not sure.18:00
ignaswell - you are writing adapters that map wfmc roles to schooltool users anyway, so it should not be in wfmc anyway18:01
ignaswfmc can call the role Teacher or Section Teacher, it's app code that will have to take care of the real permissions18:01
th1aOh, I guess I just in over my head.18:01
ignasthough i think leaving it to views is acceptable at the moment18:02
th1aI 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 anything18:03
ignasafk, going to wash my teeth/hands after talking of WFMC ;)18:05
th1aignas:  You're welcome.18:06
srichterignas: th1a: well, remember the Teacher role in this workflow could mean "the teacher of the section"18:08
th1aThat would be the ideal case.18:09
srichterI bet you the adapter that creates the WfMC participant "Teacher" could have some clever logic to ensure that not everyone can do this18:09
srichterthat would be something interesting to discuss with Jim and other people that have done WfMC workflows in Zope 318:10
vmxjust a small question so that i can follow the meeting perhaps a bit better: what is WfMC?18:11
srichterit stands for Workflow Management Coalition18:14
srichterthey published a design and XML format (XPDL) to do workflows18:14
srichterZope 3 has a partial implementation of the WfMC workflow18:14
srichterand it is used in SchoolTool18:14
vmxthanks, now i can also find some information about it on my own18:17
srichterit is not easy reading18:19
vmxyes, but probably it's not that important for me :)18:21
th1avmx:  A lot of extensions to SchoolTool will probably use WfMC extensively.18:27
th1aFor example, if you wanted to make an extension to handle a school's disciplinary policy.18:28
th1aYou 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
th1aA workflow engine like WfMC gives you a lot of power to define those processes.18:28
th1asrichter:  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
th1aI said, that sounds like too much magic.18:29
th1a(BPEL is a different workflow standard).18:30
srichterwhat was BPEL again, the other workflow standard?18:30
srichterWhy would a workflow be necessary?18:30
*** jinty_ has quit IRC18:31
srichterI mean a workflow does not make the datamodel work magically18:31
th1aWell, the Zone Integration Server is more like a router.18:31
*** jinty has joined #schooltool18:32
th1aIt doesn't store any data.18:32
th1aJust who publishes/subscribes to what.18:32
srichterwell, I think this is much simplere solved using a simple subscription model18:32
th1aI haven't tried too hard to figure out what he was driving at.18:32
th1aYes, too much magic.18:32
th1aI just thought you might find it amusing.18:33
srichterI agree18:33
srichteryes, I do18:33
srichterpeople are workflow crazy, because those people don't have to implement them :-)18:33
vmxschooltool seems to be developed how you learn it in software engeneering. i never thought that any application is really developed that way ;)18:33
srichtervmx: what are you specifically referring to?18:34
th1avmx:  There is a reason it has taken a long time ;-)18:34
vmxi'm referring to my first impressions18:34
srichterwell, SchoolTool is certainly the most disciplined software development environment I have been in18:35
th1aWe're not in PHP-land, Dorothy.18:35
srichterit even made me become more disciplined, which is strange, because I am a Prussian18:35
th1aIt is because mgedmin is a strict disciplinarian.18:35
srichtermmh, I think Lithuania used to be close to Prussia, maybe that's the reason :-)18:36
vmxit starts with the comments in the source. i haven't seen any such good documented oss yet18:36
srichterI'll note that the Zope 3 community as a whole is very disciplined, but SchoolTool has the extra edge18:36
vmxand goes further with things like unit testing18:37
vmxit is really nice to hack, as you find quite easily what you need/want in the source18:37
srichterhave you seen the devmode already?18:38
srichterit dcouments the entire API in a Web site18:38
th1aPerhaps devmode could be on by default in a source checkout?18:38
srichtermmh, I just wonder how easy it would be to switch this for the release18:39
th1aPerhaps more trouble than its worth.18:39
srichterI usually leave it turned off, since it saves about 1-1.5 secs when starting the server18:39
srichterthat's what I am thinking18:40
*** budgester has left #schooltool18:41
vmxdo you also get "broken pipe" errors when you edit an event?18:49
th1aThose are harmless.18:50
th1aAlthough I don't remember the exact cause.18:50
*** jinty has quit IRC18:55
*** jinty has joined #schooltool18:56
*** jinty has quit IRC19:19
ignasvmx, you are geting thouse, because browser closes the connection after geting a redirect, and Zope3 is still trying to write some content19:19
*** jinty has joined #schooltool19:23
*** jinty has quit IRC20:09
*** faassen has quit IRC20:32
*** mgedmin has quit IRC21:31
*** alga has quit IRC21:37
*** tiredbones has quit IRC21:47
*** tiredbones has joined #schooltool21:48
*** carljm has joined #schooltool22:05
*** pcardune has joined #schooltool22:19
*** didymo has joined #schooltool22:31
*** jelkner has joined #schooltool22:33
jelknerpcardune: u're here early22:33
jelknerlet's get some stuff done before welsh comes22:33
th1apcardune:  I talked to jinty today about the svn access, sorry I dropped the ball on that.22:34
pcarduneth1a: oh no problem, I already talked to him before22:35
jelknerpcardune: ssh cando.apsweb.org22:36
pcarduneyou have a lot of domain names22:36
jelkneryup22:36 goes to the same place22:37
jelknerand bonnieb.yhspatriot.net22:37
jelknerand a few others ;-)22:37
pcardunedo i have sudo access?22:37
jelkneri hope so22:37
pcarduneyeah i do22:38
jelkneri put you in the admin group22:38
pcarduneI'm installing svn22:38
jelknerglad to see that works22:38
jelknerit's a dapper box22:38
jelknerall yours22:38
jelknerlet's make this the cando test box22:39
jelknerinstall cando in your home directory22:39
jelkneryou can run it on any port you like22:39
jelkneri'll ask nick to setup apache virtual hosting so on port 80 redirects to your cando instance22:40
pcardunewhile i am setting things up, take a look at
jelknerwill do22:42
pcarduneis there a current list of dependencies for schooltool?22:43
pcarduneif so, we should put that on the schooltool site somewhere22:44
th1aWhat we do need is a simple "setting up your SchoolTool development environment" howto.22:45
jelknerit should be the same as the zope3 dependencies22:45
th1aWe require PIL in the trunk at this point.22:45
jelknerpcardune: do you need help setting up schooltool?22:51
pcarduneschooltool svn is checking out *really slowly*22:51
*** ignas has quit IRC22:52
jelknerwe will have at least the dependencies here:
pcarduneit seems to have frozen, i tried killing it, but that won't work22:52
jelknerhold on...22:52
srichterjelkner: when is the cando sprint again?22:53
jelknerjuly 28 to 3022:53
srichterok, we are in the green then22:53
jelknerpcardune: need help killing something?22:54
pcarduneprocess 393822:54
pcarduneand 383922:54
pcarduneand 389922:55
jelkneri just installed subversion make gcc python-dev libc6-dev22:55
jelkneroh, they won't seem to die22:56
jelkneroh, i got it22:57
jelkner3898 (make) kept recreating it22:57
jelknerit's gone now22:57
*** flint has joined #schooltool22:57
jelknerhey paul22:57
pcarduneok, it seems to be going now22:57
flintjelkner, 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
jelkneri'm *so* disappointed!22:58
jelkneri was hoping you had time to play with bzr a bit22:58
pcardunethe speed of the Zope3 svn servers never cease to amaze me22:59
jelknerpcardune: can you try to check out wdickers bzr changes?22:59
pcarduneon maddog?22:59
jelknerbzr pull
pcardunedid he set up public_html symlink?23:00
pcardunedo you want me to pull them into the main repo?23:00
jelkneryes, but look at them first23:00
jelknerthis was cool23:00
jelknerfirst i made changes and will pulled them from me23:01
jelknerthen he made changes23:01
pcardunecan i do a diff between two branches?23:01
jelkneri'm sure you can23:01
jelknerbut i've never done that23:01
jelknerwe now have a real opportunity to learn bzr23:01
pcardunei don't think you can, i think i have to pull them, and then look at changes between revisions23:02
jelknertry that23:02
tiredbonesjelkner, what is bzr?23:02
jelknerit is a distributed revision control system developed by martin poole of cannonical23:03
jelknerit is the system currently being used by the launchpad developers23:03
*** heriL has joined #schooltool23:03
jelkner(i may have mispelled martin's last name :-(23:03
pcardunewhoa... oh, i just did a bzr pull with no specified repo, and it pulled from your maddog23:04
tiredbonesIs this somethong that's going to replace svn/23:04
jelknertiredbones: it depends23:04
jelknersvn is a centralized system23:04
jelknerbzr is distributed23:04
jelknerthey are different23:05
jelknerdepends on what you need23:05
jelknerpcardune: could you get will's changes?23:06
pcarduneuh oh, the latest schooltool trunk broke cando23:06
pcarduneyeah i did23:06
pcardunelet me see if I can fix it quickly23:06
jelknercool, i just pulled in the changes from you23:07
*** heriL has quit IRC23:10
jelknerdwelsh must have forgotten about the meeting23:12
jelkneri can't reach him on cell or work23:12
jelkneri'll give it a few more minutes, but then i gotta run23:12
* tiredbones reading about bzr.23:12
jelknerpcardune: are you going to send us homework before you leave for camping?23:13
jelknertiredbones: bzr rocks!23:13
pcardunei said it in class, but i should send out a proper email23:13
jelknerplease, cause i left before you gave it to us23:13
tiredbonespcardune, how to restart your zope server. manage process -> server control then click restart23:15
tiredbonesDose that do it for you?23:16
pcardunethat is one way23:16
tiredbonesWhat other way where you looking for?23:17
pcarduneif you are running it with zopectl then you can just say "zopectl restart" in a command prompt23:17
tiredbonesyes, I know.23:18
pcarduneor you can just kill the process and restart it23:19
pcardunei don't know that there are any other ways23:19
jelknerpcardune: seeing now welsh, i'm going to head out23:19
jelknertoday was a good day23:20
jelknerthe cando testing server is in place23:20
pcarduneyou are leaving?23:20
jelknerthat was my plan, why?23:20
jelkneri'm still at school and i need to go pick up my son23:20
jelkneri have til 523:20
pcarduneI was hoping you would take a brief look at what I had so far23:20
jelknerlet's do that23:21
jelknerdo you have cando setup yet?23:21
pcardunei just thought I had it set up23:22
pcardunegive me one minute23:22
pcardunesorry, port 708023:25
jelknerok, i'm there23:26
pcardunelog in23:26
pcarduneas manager/schooltool23:26
pcardunethen click on Competencies23:27
pcardunethis is a place where the school would put global competencies... like that whole yorktown ROCS business23:27
* Gwynn is away: Ik ben bezig23:28
pcarduneyou will see another Competencies link in the actions menu for courses, and for sections23:28
pcarduneyou can make competencies inherited from other sets of competencies using the Manage Bases action23:29
*** jinty has joined #schooltool23:29
pcarduneignore the "new requirement" and "edit requirement" links for now23:29
jelknerwait, paul, let's actually try this for cs 123:29
pcarduneI agree23:29
srichterpcardune: 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
jelknershould i create a teacher first23:30
pcardunesrichter: I'll do it today :), because i have the same issues with it.  I just want to move one of the browser classes first23:30
pcardunejelkner: go ahead and create a teacher, course, and section23:30
jelknerpcardune: wait, i'm not going to have time to do this today, i need to pick up my son23:31
jelkneri'll create that stuff with welsh on thursday23:31
pcarduneshould I write up instructions23:31
jelknerand talk to you more about it when you get back from the wilderness23:31
jelknerwelsh will be able to figure it out, no?23:31
srichterpcardune: write up instructions as a functional test :-)23:32
pcardunesrichter: I have been having serious issues with functional tests23:32
jelknerpcardune: same time next week?23:32
pcardunesrichter: the ellipses works sometimes and not other times (in the same test!)23:32
pcardunejelkner: yes23:33
jelknerok, and you'll send us homework, yes?23:33
srichterpcardune: hah, I know you do wrong :-)23:33
jelknergood, gotta run, have fun camping!23:33
pcardunejelkner: thanks, bye23:33
*** jelkner has quit IRC23:33
srichterthe ellipsis must represent at *least* one character23:33
pcardunesrichter: whitespace included?23:33
srichterso if you have: [1, 2, 3]23:33
srichterthis will not work:23:34
pcardunewhat if you have normalize whitespace?23:34
srichterbecause there is no character between [ and 123:34
srichterand 3 and ]23:34
pcardunewhat if I am just trying to match a line that looks like:23:35
pcardune              this is indented text23:35
srichteralso the diffs you get when using ellipsis with full HTML source can be misleading23:35
srichteroh, you cannot do this either:23:35
pcardunewould i put: "...this is indented text"23:35
srichter>>> print 'match everything'23:35
srichtera line cannot start with ellipsis23:36
srichterso you need:23:36
srichter>>> 'match everything'23:36
srichter>>> print '           this indented text'23:36
srichterthis indented text23:36
srichterthis will work, because whitespace is always ignored23:37
srichter(at least it is an option that we always turn on)23:37
pcardunewhat if i'm not sure whether there will be stuff around "this indented text" or not?23:38
srichterthen you can use the ellipsis, but you have to know the first non-space character23:38
srichterthe way I do this is:23:38
srichter>>> '        the indeneted text'23:39
srichter'...the indented text...'23:39
pcarduneyeah, see, i do that but it does like it23:39
srichteroh, this would not work, because there is no space between t and '23:40
srichterso you need23:40
srichter>>> '        the indeneted text'23:40
srichter'...the indented text'23:40
srichterbtw, you should avoid testing for large amount of text23:40
srichterin ftests I prefer using the testbrowser api or:23:40
srichter>>> 'This is text' in browser.contents23:41
pcardunecould you look at by any chance?  that is where I am having the problems23:41
pcardunesrichter: that works for me, but then it doesn't check for order23:41
pcardunethe last test is the one that is killing me23:43
srichterright, I stopped checking for those sort of things, because they make tests brittle23:43
pcarduneno kidding23:43
pcarduneso what do you recommend?23:43
srichterbut you can always get the index of a substring in the string23:43
srichterI am surprized this does not work23:44
pcardunei'll post the diff23:44
srichterhave you looked at the HTML output analyzer?23:45
srichterit allows you to specify an XPath expression and get the result23:45
pcarduneoh no... not XPath... i think i looked at that before the testbrowser package existed23:45
pcarduneand found it to be a bit of a pain23:46
pcarduneI guess I don't really need to test for oder23:46
pcarduneas a good zope developer, what are the set of things you would recommend testing in an UI?23:46
srichterlinks, controls23:47
srichtererror, warning and status messages23:47
srichterspecific things for a particular view23:47
*** jinty has quit IRC23:47
srichterfor the analyze function see:23:47
srichtersearch for analyze.queryHTML23:48
pcardune if you're curious23:48
pcarduneok, thanks23:48
*** jinty has joined #schooltool23:48
pcardunei also have one issue with unit tests and imports23:48
pcarduneif i have in some code: from import browser... and then later it works fine running schooltool, but when running the tests it says that the module 'browser' has no attribute 'app'23:49
srichteryou can remove all of the front ellipsis for starters23:49
srichterthe ones at the end of the line pick the stuff up already23:50
srichterok, that is easy to fix23:50
srichterjust also state this in the tests:23:50
srichterPython does lazy importing23:51
pcardunethat seems like a pain, why don't unittests work like python?23:51
pcardunethat seems like a major flaw in unittests23:51
srichterthey do23:52
srichterbut in PYthon you have already imported a lot more and has been imported by other code23:52
srichterunittests load much less23:52
srichterthis this module has not been preloaded23:52
*** carljm has quit IRC23:53
pcarduneso should i put that in the or in the actual doctest?23:53
srichterwhereever you prefer23:53
srichterI usually put it into the doctets23:53
pcardunealthough they aren't really part of the documentation?23:54
srichterwell, I think they are23:57
srichteryou tell the user the truth of what has to be done to get it working in isolation23:57
srichterbut you can decide this for yourself23:57
pcarduneok, fair enough23:58
pcardunethanks for the help23:58
srichterno problem23:58
pcardunesomeone should write up documentation on this "common problems with zope doctests"... maybe I will at some point23:59
pcarduneor maybe it will just be called "Paul's problems with zope doctests"23:59

Generated by 2.15.1 by Marius Gedminas - find it at!