*** replaceafill has quit IRC | 01:50 | |
*** menesis has quit IRC | 02:27 | |
*** th1a has quit IRC | 03:07 | |
*** ignas has quit IRC | 03:29 | |
*** replaceafill has joined #schooltool | 06:10 | |
*** replaceafill has quit IRC | 08:44 | |
*** menesis has joined #schooltool | 10:02 | |
*** menesis has quit IRC | 11:20 | |
*** ignas has joined #schooltool | 13:17 | |
*** yvl has joined #schooltool | 14:15 | |
*** ryanpg has joined #schooltool | 15:25 | |
ryanpg | hi all | 15:26 |
---|---|---|
yvl | hi | 15:27 |
ryanpg | I was supposed to meet Tom and Justas here at 8:00 Central time | 15:28 |
ryanpg | I wonder if I missed them | 15:29 |
yvl | definitely not :) | 15:29 |
* yvl is Justas | 15:29 | |
yvl | isn't it 7:30 Central time now? | 15:30 |
* yvl is just checking if he got the timezones right... | 15:30 | |
*** th1a has joined #schooltool | 15:31 | |
ryanpg | yvl, lol it is... :) I'm early! Hi th1a | 15:37 |
ryanpg | yvl, nice to meet you | 15:37 |
ryanpg | :) | 15:37 |
th1a | hi ryanpg. | 15:37 |
yvl | well, good morning then ;) | 15:38 |
ryanpg | thanks yvl, what time is it in your part of the world? | 15:39 |
yvl | 3:40 PM | 15:39 |
* yvl is glad you all are on West coast :) | 15:40 | |
yvl | by the way, my HDD managed to hit the bucket | 15:40 |
ryanpg | oh not bad... at least it's not the middle of the night - th1a I was worried I missed you guys - a quick glance at my clock registered as after 8 | 15:40 |
* ryanpg needs to drink some coffee or something | 15:40 | |
yvl | so I'm on Live CD at the moment | 15:40 |
* yvl is a big fan of coffee ;) | 15:41 | |
th1a | sorry to hear that yvl. | 15:41 |
yvl | it's not that bad, just annoying that such things happen when you're supposed to have an IRC meeting... :) | 15:42 |
yvl | well, that's Murphy's law for you | 15:42 |
yvl | ok... let me grab some coffee; and I'm good to go :) | 15:44 |
* yvl is ready | 15:53 | |
*** yvl has quit IRC | 15:53 | |
*** yvl has joined #schooltool | 15:54 | |
yvl | thanks for waiting :) | 15:56 |
ryanpg | I just put a pot on myself | 16:02 |
ryanpg | well... yvl you know from th1a's email that we are deploying schooltool at my school. I'm the technology coordinator there and so I pretty much have complete freedom in choosing what technology we use | 16:06 |
yvl | yes, and I'm happy you're trying out SchoolTool :) | 16:07 |
ryanpg | it came down to schooltool or open-sis, I went with schooltool because it seemed more "open" and it's ubuntu specific (I'm a fan) and because I was able to make a connection here with th1a | 16:07 |
ryanpg | thanks, yvl | 16:07 |
ryanpg | from what I've gathered you guys have made a lot of planful decisions about what features are included and what level of controllability you expose the user/administrator to | 16:08 |
ryanpg | My curiosity (for right now) is around the issue of user permissions | 16:09 |
yvl | well, a long time ago we had a mechanism that most web apps use | 16:10 |
ryanpg | specifically; that I as a system administrator have limited (if any) ability to customize or adjust what level or permission users have | 16:10 |
ryanpg | yvl, yes, th1a did mention that function was there once | 16:10 |
th1a | In the Zope case it is even more granular and complicated because in the default, | 16:11 |
th1a | you can change the permissions at each level of the hierarchy. | 16:11 |
yvl | yes | 16:11 |
yvl | we actually wrote our own implementation, based on the concept of crowds | 16:12 |
yvl | and at the moment permissions are programmable | 16:12 |
yvl | on the low-tech end of it, | 16:12 |
yvl | you have "crowds" of people, like teachers, section instructors, etc. | 16:13 |
ryanpg | yvl, oh... I am happy to work on the "low-tech" end actually | 16:13 |
yvl | and then there's code that checks if a person is in certain crowds for a partilucar object | 16:13 |
ryanpg | I did take a look at the structure of schooltool, and started to get a feel for zope (which is essentially python right?) | 16:13 |
yvl | well, yes - it's python + Zopes XML configuration (ZCML) + TALES templating language | 16:14 |
yvl | and everything built on component architecture | 16:15 |
ryanpg | ok, I understand that better, thanks | 16:15 |
yvl | that some people view as extension of python language :) | 16:15 |
yvl | let's put it like this | 16:15 |
ryanpg | I was looking at the xml configuration files (just briefly) and it did seem understandable to me | 16:15 |
yvl | the main difference between common permision schemes and our implementation | 16:16 |
yvl | is that usually you have a grid of object/person | 16:16 |
yvl | that is essentially composed of checkboxes | 16:16 |
ryanpg | right that's what I'm familiar with | 16:16 |
yvl | in our implementation, *some* code is executed when checking for permissions of an object | 16:17 |
yvl | that code has a lot of freedom; it may check, for example, how many words there are in section's description | 16:18 |
yvl | so instead of having a checbox | 16:18 |
th1a | (that is, as an absurd example) | 16:18 |
yvl | yes :) | 16:18 |
yvl | instead of having a checkbox, you have a function | 16:19 |
yvl | a real life example - Teachers crowd checks if the authentcated person is in "teachers" group | 16:20 |
yvl | Instructors crowd, when done on a Section object, check if the authenticated person is in section's instructros list | 16:20 |
yvl | and so on | 16:20 |
th1a | The very specific case which lead to this design is checking to see if a student has a teacher in any class. | 16:21 |
th1a | So it is not "any teacher can see any student." | 16:22 |
th1a | But "a teacher may see a student's info *if* they have that student in a class." | 16:22 |
ryanpg | got it, sounds a lot more powerful than the broad stroke "checkbox" approach | 16:23 |
ryanpg | but makes it a lot harder to create an easy to use/understand configuration tool | 16:24 |
yvl | that's why we don't have one yet ;) | 16:24 |
ryanpg | I have an "instant off-the-top-of-my-head" idea :P | 16:25 |
yvl | by the way, the nearest "web" configuration that we may make some time | 16:27 |
yvl | is adding checkboxes near the "Access rights" list | 16:27 |
th1a | That page needs some love. | 16:29 |
th1a | Actually, I could work on that today... | 16:29 |
ryanpg | I was imagining a unique kind of semantics kind of configuration interface | 16:29 |
ryanpg | with a dropdown menu of choices and options | 16:30 |
yvl | I must admit it's tempting :) | 16:30 |
ryanpg | <user/crowd> <can/cannot> <action> <object> | 16:31 |
ryanpg | so like <ryanpg> <can> <edit> <default calendar> | 16:31 |
ryanpg | each variable being selectable by the administrator | 16:31 |
ryanpg | and that would write a new access rule | 16:32 |
ryanpg | just a thought | 16:32 |
yvl | thanks :) | 16:32 |
ryanpg | lol | 16:32 |
yvl | It's a place that definitely needs polishing; however - there are other places that need love too :) | 16:33 |
yvl | I would do it all if I had unlimited time on my hands ;) | 16:33 |
yvl | so... did you find permissions not flexible for your school in some places? | 16:34 |
ryanpg | well, in the short-term, I may have to brush up on my python and do some reading on zope so I can tweak things just for in-house use | 16:34 |
yvl | or usage scenarios, to be more precise | 16:34 |
ryanpg | yvl, actually, so far we really haven't gotten into usage much - I'm going to let people start using calendars next week | 16:35 |
ryanpg | the only real-world issue yet, is people very much would like to share individual calendars with everyone | 16:35 |
ryanpg | and have say a "therapy" calendar that can be edited only by therapists, but viewed by all staff | 16:35 |
ryanpg | we have a lot... a LOT of "pull out" services where kids are taken from class for groups, individual sessions etc | 16:36 |
ryanpg | so giving therapists a place to collaboratively schedule, and providing teachers with a visual calendar of that schedule would be amazing | 16:37 |
yvl | hmm | 16:37 |
ryanpg | I think this is where my mind starts running wild, create an object, and set it's permissions - just like I'm used to doing on good ole linux | 16:38 |
ryanpg | I'd basically give rwx access to the therapist crowd, and rx access to the teacher crowd | 16:39 |
yvl | if I remember correctly, Groups have their own calendars | 16:39 |
ryanpg | yvl, calendars can be shared among groups IIRC | 16:40 |
yvl | (I just can't check how exactly that works, and I don't have ST instance running...) | 16:40 |
ryanpg | me either atm - I'm at home | 16:40 |
ryanpg | yvl, I think it's a broader issue than just calendars though | 16:40 |
yvl | IIRC, group's members can all edit the calendar | 16:40 |
ryanpg | but can that calendar be shared with others outside the group? | 16:41 |
ryanpg | I think it's a broader issue too... for example: | 16:41 |
ryanpg | we have an administrative team of 5 including myself, each member has different responsibilities, i.e. scheduling, enrollment, managing resources | 16:41 |
ryanpg | having better more granular control over who can do what would be very nice - *I think* :D | 16:42 |
* th1a returns from taking receipt of 10 trees. | 16:42 | |
ryanpg | th1a, I want to order a ton of trees to create a hedgerow at my house :D | 16:43 |
th1a | I'd just add parenthetically that what one wants to do with permissions in a calendaring system is very different than what one wants to do with the rest of a student information system. | 16:43 |
th1a | ryanpg: That's pretty much what I'm doing. | 16:43 |
ryanpg | th1a, why do you say it's different? (a lot of this will be more clear to me once I've actually put it into practice) | 16:44 |
th1a | Well, you don't want to do "attendance sharing." | 16:45 |
ryanpg | ahh... yes we do | 16:45 |
ryanpg | we have a system where each student has a "case manager" | 16:45 |
th1a | But attendance sharing is much more structured (legally!) than calendar sharing. | 16:46 |
ryanpg | but, that case manager may not have the student in each class, or the student my arrive late, or the student may be on-site but in an intervention | 16:46 |
th1a | You don't do "share my attendance []" | 16:46 |
th1a | In SchoolTool, case manager = "advisor," btw. | 16:46 |
ryanpg | hmm... maybe I'm missing something | 16:47 |
yvl | well, it's just a different angle really | 16:47 |
ryanpg | well, obviously I'm missing a lot - but I'm trying to grasp how it works and how it could be better | 16:48 |
th1a | I may be just distracting you. | 16:48 |
yvl | instead of saying John can look at Pete's private info | 16:48 |
yvl | we say "student's advisors" can look at their private info | 16:48 |
th1a | Yes. | 16:49 |
ryanpg | yvl, right and I guess what I'm imagining is a way to be granular about adjusting that | 16:49 |
ryanpg | so that I can say admin,Pete's-advisor,kathy can edit Pete's attendance | 16:50 |
th1a | But you don't have to explicitly say "kathy" | 16:50 |
th1a | Just Pete's advisor. | 16:50 |
th1a | Whomever that is. | 16:50 |
ryanpg | th1a, no in this case (I wasn't clear) Kathy is our administrative assistant | 16:50 |
th1a | Oh..., well, she should be in the "clerk" group then. | 16:51 |
ryanpg | yes, but we have other "clerks" too, who should not be able to adjust attendance | 16:51 |
yvl | I see your point | 16:52 |
yvl | well, it is possible to achieve what you want | 16:52 |
yvl | I think you're not afraid to hack a little :) | 16:52 |
th1a | That is a pretty weird case, to assign a specific clerk to a specific student. | 16:53 |
yvl | I guess... the best way to get around this is to look at how roles are defined in your school | 16:53 |
th1a | (I'm just sayin') | 16:53 |
ryanpg | th1a, to be more precise Kathy and admin would be able to edit any student's attendance, while advisors would only be able to edit "their" students | 16:54 |
th1a | Yes, that's the way it is designed to work now, more or less. | 16:54 |
ryanpg | oh man... I'm sorry | 16:54 |
th1a | Although permissions around attendance have not gotten much specific attention. | 16:55 |
th1a | So... | 16:55 |
th1a | Basically, your role here may just be to say "I need to do X." | 16:55 |
th1a | And we say, "Oh, we designed it to do that! But in the end set a few bits wrong and now we'll fix them." | 16:55 |
ryanpg | hmm... ok | 16:56 |
th1a | And also write more documentation. ;-) | 16:56 |
yvl | yes, that would be really helpful | 16:56 |
yvl | more or less this is how SchoolTool evolved so far | 16:56 |
ryanpg | well, I can tone it down a bit then sure - I understand this is a big project with a long history | 16:56 |
ryanpg | I get invested quickly, I'm thinking beyond just "I need to do X" please? | 16:57 |
ryanpg | I'm thinking - here's something that could make this program great - or am I wrong please? lol :P | 16:57 |
th1a | Yes, I should just shut up and let yvl explain more of the technical aspects. | 16:57 |
ryanpg | th1a, no no... I've been involved in many other OSS projects, I understand the feeling of ownership that comes with putting so much blood, sweat and tears into the software | 16:58 |
yvl | hmm | 16:59 |
ryanpg | it's tough for developers to listen to some "new guy" make all kinds of major feature requests etc., I'm fine with filtering out the nonsense I may bring to the discussion :) | 16:59 |
ryanpg | I very very much appreciate you guys listening and helping me understand... thank you! | 16:59 |
yvl | nah - we just need to get on the same page :) | 17:00 |
yvl | you don't nknow the insides of ST yet, and we don't know how your school is run... :) | 17:00 |
th1a | I'm happy. :-) | 17:00 |
th1a | yvl: Why don't you do a little more zcml 101. | 17:00 |
ryanpg | yvl, you're exactly right - it's amazing that we're all happy to learn :) | 17:00 |
ryanpg | th1a, actually... maybe we should wait for the nitty-gritty on zcml till I'm in front of a ST installation | 17:01 |
yvl | it may take a *while* (and I don't know where to start :) ) | 17:01 |
yvl | you know what.. | 17:01 |
yvl | ryanpg, can you send us some... | 17:02 |
yvl | umm.. | 17:02 |
ryanpg | is there a VM version of ST? | 17:02 |
yvl | descriptions of how you'd need your access rights set | 17:02 |
ryanpg | yvl, ok yes | 17:02 |
yvl | I mean real life scenarios | 17:03 |
ryanpg | sure | 17:03 |
yvl | "we need Cathy to be able to put grades", etc. | 17:03 |
ryanpg | absolutely... as th1a says "I need to do X" cases. | 17:03 |
yvl | yeah | 17:03 |
yvl | and if it makes sense to tweak your ST | 17:04 |
yvl | as in - write code | 17:04 |
yvl | I'll be really happy to show you where and why ;) | 17:04 |
ryanpg | righ, if you are willing and available I can get some insight into how to do it... yes thanks | 17:04 |
ryanpg | if things work well, and you like the ideas, maybe some can get rolled back into ST too | 17:05 |
yvl | it is OSS :) | 17:05 |
ryanpg | lol, but... and this is a little OT | 17:05 |
ryanpg | I really have worked with developers on several projects where major changes have resulted - OSS has all the same management challenges of any other project | 17:06 |
ryanpg | know my "crowd" and my "permissions" lol | 17:06 |
yvl | :))) | 17:07 |
ryanpg | you yvl and th1a are the experts, I will feel good if even a small percentage of my input is helpful | 17:07 |
ryanpg | I mean, beyond to myself and my school | 17:07 |
th1a | Just letting us know specifically when SchoolTool's permission don't match your expectations is helpful. | 17:08 |
ryanpg | well, I'm grateful for the time you guys have given me today, I've got a good idea of how to move forward | 17:08 |
yvl | I'll eagerly await your e-mail ;) | 17:09 |
yvl | and thanks for the interest, again :) | 17:09 |
ryanpg | I think for my first "I need to do X" assignment, I'll describe the calendar situation better. Good place to start? | 17:09 |
yvl | yeah, sounds right :) | 17:10 |
yvl | just don't dwelve into it too much | 17:10 |
ryanpg | great, th1a thanks for facilitating the meeting | 17:10 |
yvl | believe me, I've been there - and there's a lot that can specifically be done to improve them :) | 17:11 |
ryanpg | yvl, yeah I'll just outline the issue and you'll tell me if it's even realistic to address it | 17:11 |
ryanpg | or if it's already addressed, and I just missed it | 17:11 |
yvl | I think that will get us fastest to something "real" ;) | 17:12 |
yvl | (and by real I mean code ;) ) | 17:12 |
ryanpg | yvl excellent | 17:13 |
ryanpg | ok, signing off, I'll probably be back Monday (I'm on-site and usually swamped though - so who knows) | 17:14 |
ryanpg | thanks again th1a | 17:14 |
ryanpg | thanks yvl | 17:14 |
yvl | thanks ryanpg :) | 17:14 |
yvl | see you around :) | 17:14 |
ryanpg | you too, bye :) | 17:15 |
*** ryanpg has quit IRC | 17:15 | |
*** yvl has left #schooltool | 17:25 | |
*** ignas has quit IRC | 19:32 | |
*** replaceafill has joined #schooltool | 22:16 | |
replaceafill | th1a, could you please remind me of https://bugs.launchpad.net/bugs/635212 | 22:17 |
* replaceafill has long-term memory leaks... | 22:18 | |
*** replaceafill has quit IRC | 23:25 | |
*** ignas has joined #schooltool | 23:59 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!