IRC log of #schooltool for Monday, 2004-10-04

**** BEGIN LOGGING AT Mon Oct 4 12:21:28 2004
-->You are now talking on #schooltool12:21
<--hazmat has quit (Connection timed out)12:30
-->hazmat ( has joined #schooltool12:47
<--gregweb has quit ("User pushed the X - because it's Xtra, baby")12:53
-->gregweb ( has joined #schooltool13:03
<--hazmat has quit (Connection timed out)13:17
-->hazmat ( has joined #schooltool13:41
-->alga ( has joined #SchoolTool14:02
-->gintas ( has joined #schooltool14:04
-->Voff_ ( has joined #schooltool14:38
<--hazmat has quit (Connection timed out)15:06
-->hazmat ( has joined #schooltool15:11
<--gintas has quit (Read error: 110 (Connection timed out))15:15
-->pips_ ( has joined #schooltool15:16
-->gregweb_ ( has joined #schooltool15:33
<--hazmat has quit (Connection timed out)15:35
-->hazmat ( has joined #schooltool15:42
gregweb_somebody there?15:50
gregweb_Hi Marius?15:51
mgedminhi gregweb_ ;)15:52
algaHi Gregoire15:52
gregweb_Q: In the Web UI there are Super-groups, Subgroups, Members and Supervisors. ...15:52
gregweb_Hi Albertas.15:52
algasupergroups are parent groups15:53
gregweb_What's the relation between the Supervisors there and the supervisors in the database?15:53
gregweb_SUpergroups, and subgroups are clear15:53
gregweb_The questions was badly written, sorry ...15:54
algasupervisors are teachers in the school version15:54
algasomebody who is interested in the group timetable15:54
algalike a manager of a group15:54
gregweb_Are the supervisors, managers and members a hardcoded?15:55
algaa manager is like a permission, a security status15:55
algamembership and teaching are relationships15:56
gregweb_what is supervisor?15:56
gregweb_teaching relationship?15:56
algasomebody who is at the teacher end of a teaching relationship15:57
gregweb_are member, supervisor, manager kind of roles?15:57
algamanager, yes15:57
mgedminmanager is a security role15:57
gregweb_are there other roles?15:58
mgedmin(any user that belongs to the managers group is a manager and has additional privileges)15:58
mgedminsupervisor (aka teacher) is also a security role (users that belong to the teachers group are teachers aka supervisors)15:58
mgedminsupervisor and member are also relationship roles15:58
gregweb_so there are security roles and relationship role?15:59
mgedminusually when we say "role" we mean relationship role15:59
gregweb_What the "relation" between the supervisor relationship role and the supervisor security role?16:00
mgedminsame name ;)16:00
mgedminone says that this user is a supervisor of this group16:00
mgedminit is mostly informative IIRC16:00
mgedminI think it is also used to define the school's timetable16:01
mgedminanother says that this user is a supervisor in general16:01
mgedminand that implies extra privileges (the ability to edit timetables, etc)16:01
gregweb_The ability for a security role is defined implicit (hardcoded, code or config), I assume?16:02
mgedminyes, it is hardcoded in the code16:03
gregweb_What if i like to have a new Secretary role?16:04
gregweb_as security role.16:04
<--hazmat has quit (Connection timed out)16:05
mgedminchange the code16:07
mgedminor use ACLs16:07
mgedmincreate a group Secretaries16:07
gregweb_Or shall I define a Secretaries group and some secretaries and then give the secretaries some rights via ACL in a group e.g. Beamers.16:07
gregweb_You were faster in typeing :-)16:07
mgedminand grant the appropriate permissions for this group in the ACLs of the appropriate objects16:08
gregweb_Sorry, there are no resource groups ...16:09
gregweb_Are ACL to extend the hardcoded security roles?16:09
-->hazmat ( has joined #schooltool16:10
gregweb_grant the appropriate: I understood.16:10
<--tvon has quit ("Leaving")16:12
mgedminyes: initially we only had a hardcoded security model16:12
mgedminthen we extended it with ACLs16:12
<--tvon|x31 has quit (Remote closed the connection)16:12
mgedmin(which do not cover all parts of the system yet)16:12
gregweb_Thanks for your answers, we'll contue to figure out more of schooltool/bell...16:14
gregweb_stay tuned, hehehe :-)16:14
<--pips_ has quit (Read error: 232 (Connection reset by peer))16:42
<--Voff_ ( has left #schooltool16:52
-->pips_ ( has joined #schooltool17:06
<--hazmat has quit (Connection timed out)17:15
-->hazmat ( has joined #schooltool17:17
th1aWe may want to remove the whole "supervisor" thing from SchoolBell's interface, since it is confusing and unnecessary.17:21
-->gintas ( has joined #schooltool17:23
pips_hi tom17:39
pips_indeed it was confusing! :-)17:39
th1aYeah, there generally isn't really an equivalent role to teacher in groups that aren't classes.17:40
gregweb_Hi Tom, I'm Gregoire.17:41
gregweb_I'm working with pips_17:41
th1aHi Gregoire.17:41
th1aIs SchoolTool starting to make sense otherwise?17:42
th1aWe badly need some developer documentation soon.17:44
pips_tom: will you be available on irc tomorrow? 17:44
pips_if so, will you log on around this time of the day?17:44
gregweb_My feeling is: There is much infrastructure (structure) under the hood. But it is *very* hard to discover hab to map the existing structure to the own structures (how it is done here in Switzerland).17:44
th1aYeah.  I'll be here around this time.17:45
pips_that's great17:45
th1aI have to try to get up earlier now that work has resumed in Europe :-)17:45
pips_unfortunately I have to go right now... but i will be working with greg all day tomorrow on schooltool17:46
<--pips_ has quit ("Chatzilla 0.9.64f [Mozilla rv:1.7/20040707]")17:47
gregweb_I'll have to leave also. See you tomorrow. I'll working on the requirements tomorrow morning.17:48
th1aOK.  Talk to you tomorrow.17:48
gregweb_th1a:I assume you'll be interested in such o document.17:48
gregweb_We now know a little about SchoolTool but the details we didn't uncover yet. On the other side you don't have yet an idea of our requirements. I hope with some paper from our side it gets easier to map the requirements.17:51
th1aOK.  I hope that our underlying architecture is flexible enough to meet your needs.17:52
gregweb_the relational approach surely, I suppose17:54
gregweb_For the rest I'm not yet deep enough in the concept.17:54
gregweb_So let's see. Bye (definitely).17:55
<--gregweb_ ( has left #schooltool17:56
th1aalga gintas mgedmin : when do you want to chat about acceptance tests, etc?18:00
mgedminbut we'll have to leave in about 30 minutes18:03
*mgedmin did not notice that you started your question with "when" :-)18:03
mgedminideally I'd like to see a list of verifiable acceptance criteria for each story18:03
mgedminso that we could go through that checklist and be sure we didn't forget anything18:04
mgedmine.g. for the "default group" story:18:04
mgedmin- when you add a new user in the html interface, the form should have a drop-down with all group names (and a special "do not add to any group" choice)18:05
mgedmin- when you add a new user in the wxClient interface, it should have a drop down with all lists as well18:06
mgedmin(if you omit this item, then we'll know that wxClient does not have to have this feature)18:06
th1aOK.  So not an automated test, but a checklist for humans.18:06
gintasautomated tests would be too much trouble for a pretty much one-off procedure18:07
mgedminan automated test would be nice in theory, but I think that can wait18:07
th1aI'll work on those for the next milestone today.18:08
algaone more thing that bothers me is that it's us who phrase the stories, so your requirements may not even be mentioned there18:09
mgedminone question about the schoolbell translation story18:10
th1aRight.  Well, I'll become more assertive as I get more of a feel for this process.18:10
mgedminafaiu you want schoolbell to be just a single translation file that changes all the strings shown to the user18:11
th1aThis has been a kinda weird way to start because I have little feel personally for calendaring.  I have much more defined opinions about things more specifically connected to school work.18:11
th1amgedmin:  If we can manage it, that seems like a good way to do it.18:12
mgedmincurrently the language is determined from the current locale18:12
mgedminwhen there is no translation file for the current locale, then we fall back to internal strings18:12
mgedminthis means that if we provide a SchoolBell translation as a translation file for English, but the servers's locale is French, then schooltool will use internal strings instead of the english translation file18:13
mgedminthis can be fixed by the sysadmin setting the "correct" locale for the schooltool process18:13
th1aCan that be overridden at the application level?18:13
mgedminor we could add an option in schooltool.conf that overrides language autoselection from locale18:13
th1aI certainly wouldn't want to have to change the server's locale.18:14
mgedminor we could add a different option that specifies the fallback language when the autodetected language does not exist18:14
mgedminor both ;)18:14
mgedminactually, I think the gettext module accepts a list of languages to try18:15
mgedminso we could have just one option that takes a list of languages18:15
mgedminanother question about the same story18:15
mgedminif schooltool and schoolbell only differ in translation files18:16
mgedminperhaps it makes sense to add an option to schooltool.conf that specifies the directory where translation files are kept18:16
mgedminthen we could have both schooltool translations and schoolbell translations for several languages, and keep them in the source repository18:16
mgedminand switching between SchoolTool and SchoolBell would mean just a change in the configuration file without the need to remove old translation files and move the new translation files over18:17
th1aThat sounds good.18:17
mgedminwhat about README, the names of executable scripts ( vs, etc.?18:17
mgedmindo we leave that for distributors?18:17
mgedminthat is, people who prepare SchoolTool or SchoolBell packages?18:18
th1aYeah, I think that's probably ok.18:18
mgedminok -- the rest of the differences between schooltool and schoolbell are just in strings18:18
algaCould Brian do the tarball releases as well?18:18
mgedminso the translation file approach will just work18:18
mgedminwe'll have to make the file name of the logo image a translatable string as well18:19
mgedminso that schooltool and schoolbell can have different logos18:19
th1aThis also helps define what does and doesn't go into the core and what is external.18:20
th1aIf it doesn't make sense in SchoolBell, we should make it external.18:20
algaso, all the school problem domain stuff will be in add-ons?18:21
th1aIt's a thought.18:21
mgedminI'd be happy to see actual add-ons for SchoolTool18:21
th1aWe really need to write down how it would be done.18:22
mgedminit would help us see whether the APIs are good for extending SchoolTool18:22
mgedminwe have a lot of abstractions that we have never used18:22
mgedminI'm now wondering about one of them18:22
th1aI was wondering yesterday if we could tack it onto this milestone somehow.18:22
th1aIt needs to be done soon.18:23
th1aI have applications I'd like to write for my school.18:23
mgedminTeachers are not necessary for SchoolBell (even if we rename them to supervisors), right?18:23
th1aAs far as I can tell they aren't.18:23
mgedminotoh it might be nontrivial to rip them out from the core18:24
mgedminthe built-in security model knows about teachers18:24
mgedminthe whole-school timetable view knows about teachers18:25
*mgedmin thinks18:25
algathat would be a great case for showing how problem-domain plugins should work18:28
th1aI wouldn't want to spend too much time doing a reorganization that doesn't add features, but it seems like it would be useful.18:35
*mgedmin has to go now18:36
mgedminwe can continue this tomorrow, or later this evening18:37
th1aOK.  I'll work on acceptance tests.  Yeah. We'll keep discussing it.18:37
---Disconnected ().18:38
**** ENDING LOGGING AT Mon Oct 4 18:38:42 2004
**** BEGIN LOGGING AT Mon Oct 4 20:39:48 2004
-->You are now talking on #schooltool20:39
*mgedmin is creating schooltool svn accounts for etria folks20:46
-->tvon ( has joined #schooltool21:02
-->Voff_ ( has joined #schooltool21:38
th1amgedmin: have you thought about having different acl's for browser and XML interfaces?21:41
th1aFor example, we'll allow resources to be booked via the web but not iCal.21:42
mgedmindo you think there's a use case?21:43
th1aI'm just thinking about it because I finally have publishing from iCal working (with a few ugly workarounds), but it doesn't check for changes on the server the way Moz does.21:43
mgedminI see your point21:44
th1aSo once you publish from iCal (I'm talking about the app, btw)21:44
th1aany changes you make to the calendar via the web will just be obliterated.21:44
mgedminin general I think that the user should be able to do the same things with REST that he can do with a browser21:44
mgedminbut publishing the whole calendar via iCal is different from editing individual events via the browser21:45
mgedminso in this special cae21:45
mgedminso in this special case separate ACLs make sense21:45
mgedminbut in general I think browser and REST code should use the same ACLs21:45
th1a90% of the time, yes.21:45
th1aBut I don't think we'll be able to allow people to schedule resources by uploading an iCal file because we won't be able to report clashes, as far as I know.21:46
mgedminalga asks me to tell you that we propose a story for iCal, Evolution and KOrganizer support21:46
mgedmin(working around any quirks these clients may have)21:46
th1aPractically speaking, that's probably very important in terms of adoption.21:47
th1aconsidering it would only be used internally in special circumstances, would it be hard to have different acl's for browser and REST?21:49
mgedminno, it would not be very difficult21:49
*mgedmin thinks21:49
mgedminit could also be different permissions21:50
mgedminpermission to view, edit, add, download iCalendar, upload iCalendar21:50
mgedminbut maybe not21:50
mgedmincurrently the iCal RESTive views are smart enough to figure out from the uploaded calendar21:51
mgedminwhich events are modified, which ones are deleted, which ones are added21:51
mgedminand it applies different permissions to different changes21:51
th1aI guess it isn't really a question of REST vs. browser, because in this case you want to accept changes published from an iCal file but not the browser or XML over REST.  Only iCal over REST.21:55
th1aSo yeah, adding download iCalendar and upload iCalendar permissions probably makes sense.21:56
mgedminyou do not think that it it useful to let people only add events via uploading iCal files?22:02
<--tvon has quit ("Leaving")22:03
th1aMy only point is that if you use Apple iCal to "publish" a calendar using iCalendar, then if we want to support Apple iCal users, we should lock that calendar so it can only be edited by uploading an iCalendar file.22:04
th1aOtherwise users will be confused when the changes they make through the web disappear.22:05
mgedminiCal does that?22:06
mgedminI mean, upload calendars without checking whethey they have changed on the server?22:07
th1aPrecisely.  Sorry if I didn't make that clear earlier.22:07
th1aIt gets confusing since the app has the same name as the format.22:07
mgedminI think the full name of the format is iV22:08
mgedminonly everyone abbreviates it as iCal22:08
mgedminok, it's getting late22:12
th1aGood night.22:13
mgedminsee you tomorrow22:13
---Disconnected ().22:13
**** ENDING LOGGING AT Mon Oct 4 22:13:27 2004

Generated by 2.15.1 by Marius Gedminas - find it at!