IRC log of #schooltool for Thursday, 2005-06-09

_maharajathnx00:06
_maharajado you know how i can compare the event's owner with the current user?01:18
srichterthough the online version is a bit outdated and you should buy the book ;-)01:22
_maharaja:>01:23
_maharajawell - i'm not planning to dig deep into zope or schoolbell01:23
_maharajai just want to do a quick addon of "private" entries01:23
*** _maharaja has quit IRC02:52
*** elmo has quit IRC02:52
*** elmo has joined #schooltool02:56
*** _maharaja has joined #schooltool03:01
*** didymo has joined #schooltool03:25
povbot/svn/commits: * jinty committed revision 4072:07:24
povbot/svn/commits: * Add make extract-translations to the build sequence. Fix for http://issues.schooltool.org/issue279.07:24
*** srichter has quit IRC07:25
*** srichter has joined #schooltool07:25
povbot/svn/commits: * jinty committed revision 4073:09:14
povbot/svn/commits: Reverted 4072 as it caused too many problems.09:14
*** Aiste has joined #schooltool09:32
*** SteveA_ is now known as SteveA09:51
*** thisfred has joined #schooltool11:10
*** ignas_ has joined #schooltool12:06
*** thisfred has quit IRC12:07
*** bskahan has joined #schooltool14:09
*** srichter has quit IRC14:12
*** SteveA has quit IRC14:50
*** SteveA has joined #schooltool14:51
*** bska|mobile has joined #schooltool15:02
*** bskahan has quit IRC15:07
*** bska|mobile has quit IRC15:14
*** bskahan has joined #schooltool15:24
bskahanare we going to peg to zope 3.1 for the 1.2/0.11 releases?15:29
*** srichter has joined #schooltool15:33
*** srichter has quit IRC15:34
*** srichter has joined #schooltool15:36
*** srichter has quit IRC15:36
*** srichter has joined #schooltool15:37
_maharajahi bskahan!15:50
_maharajai've got a question15:50
_maharajahow do i get the current user?15:50
_maharajacause i need to do sth like:15:50
ignas__maharaja, IPerson(self.request.principal) ?15:50
_maharajaif (this.isprivate && loggedinuser = this.owner)15:50
_maharajak, ill try15:51
_maharajaignas_: is there a way to "var_dump" a structure?15:51
_maharajalike its possible in php?15:51
ignas_dict(object) iirc15:51
ignas_or you mean like pickle ?15:52
_maharajathnx - ill try15:52
_maharajai do not know :) i'm hacking schoolbell in vi ;)15:52
_maharajai need a way to see the structure of my objects15:52
bskahanp = Person()15:58
bskahandict(p)15:58
bskahandoesn't seem to work15:58
ignas_p.__dict__16:00
bskahanignas_: yeah, that's it16:01
_maharajak, ill try16:01
_maharajabskahan: current state of affairs: i (successfuuully) added a private element16:02
_maharajaand am currently working on the display part16:02
_maharajacurrently, all private elements are displayed as private16:02
_maharajabut the creator should be able see/edit his events too :P16:03
_maharajamoreover, there are (future) acls to take care of16:03
bskahannice16:04
_maharajaso how do i compare the current user to the owner of an event?16:08
_maharaja(the right way)16:08
_maharajanote: i've never done any python programming ;)16:08
ignas__maharaja, what is the context ?16:14
ignas_like what type of object is self.context ?16:14
ignas_i'd guess16:15
ignas_event.__parent__.__parent__ is IPerson(self.request.principal)16:15
ignas_the first __parent__ is the Calendar16:16
ignas_ant the second one is the owner of the calendar ...16:16
_maharajai'm inside a event16:16
_maharajaand self.request.principal does not resolv to anything16:16
_maharajado i have to import it?16:16
_maharajathere is no self.request16:17
ignas_how is the function you are editing/adding called16:17
ignas_and where is it used ?16:17
ignas_i mean - who calls it ?16:17
_maharajaright now i'm editing class EventForDisplay16:17
_maharajawell - honestly i do not know anything16:18
_maharajaas i do not know how it works :)16:18
_maharajawhat i do is hacking at its worst16:18
_maharajascrew the code until it works :P16:18
_maharajaand try to get things right16:18
_maharajaif you tell me a good ide for linux, ill probably be able to tell you more16:19
ignas__maharaja, well - ide does not help you with Zope, and the best ide is vi/emacs + tags + mkid16:20
ignas_if you will look at def getBooker(self)16:20
ignas_oh16:20
ignas_btw16:21
ignas_that might not help you16:21
bskahan+ python shell16:21
ignas_could you please describe what exactly are you trying to do and why ?16:21
_maharajai'm trying to add privacy to the calendar16:21
ignas_what kind of privacy ?16:21
_maharajai added an extra field private (similar to allday)16:22
ignas_you want events having permissions not just calendar ?16:22
_maharajaif private is true, the owner is the only one who is able to view title/description/etc and to edit events16:22
_maharajaindeed16:22
_maharajai managed to do that16:22
_maharajai added a function isPrivate() which returns true/false16:23
_maharajaright now, its added to EventForDisplay16:23
ignas_well implementing that properly is kind of difficult ... and hacky way is error prone ...16:23
ignas_i think you should modify the calendar not the event16:23
_maharajaand i introduced getTitle() and getShortTitle so i do not need to mess with the templates as they will return "Private" if an     elemennnnnnnt is private16:23
ignas_so the calendar would not allow you accessing private events at all16:23
_maharajasry for the typos, i'm at university and chatting via vnc ;)16:24
_maharajawell, my intention is not to block access16:24
_maharajabut to restrict it16:24
ignas_in what ways ?16:24
_maharajaothers should       see my private entries16:24
_maharajathey shall know that i'm not available16:24
ignas_but should not see what are they :/16:24
_maharajatrue16:25
_maharajathats why i thought EventForDisplay is the right place16:25
bskahanhttp://www.kanzaki.com/docs/ical/vevent.html16:25
bskahanthe relevant VEVENT attribute is class: PUBLIC/PRIVATE16:26
_maharajai know16:26
bskahani think there might be a BUSY value too16:26
_maharajaand confidential16:26
ignas_well, if someone can view your calendar - he can get your ICal16:27
bskahanI'm not sure though, that might be what the transparent: value refers to16:27
ignas_and that kind of defeats the purpose16:27
_maharajaare there  "transparent" getters and setters in python?16:28
_maharajalike: event.title = "bla" calls event.setTitle("bla") if this method is available?16:28
ignas_yes16:29
ignas_they are called properties16:29
ignas_and anyway i'd modify the Calendar code os it would return a new kind of Event16:29
ignas_inherited from CalendarEvent yet created on the fly, and preferrably immutable16:30
bskahanI'd do it at the schoolbell.calendar level, rather than schoolbell.app since to get it working right you have to deal with the ical display as well as the browser display16:31
ignas_or even better yield IPrivateEvent(event) if event.private is True16:31
_maharajamhm - sound complicated :)16:31
_maharajacause i do not know where to implement that16:31
ignas__maharaja, well the task you picked up IS complicated16:31
_maharajathou i    know what you mean16:31
_maharajai need to understand the schoolbell/zope architecture :-/16:32
* bskahan nods16:32
_maharaja(a quick introduction prefereeeeed)16:32
bskahanheh16:32
_maharajathats a thing that would help lots of open source hackers, if they want to help you16:32
_maharajasome viso/...  gfx and a few pages on how it works and what to read16:33
bskahanwe have a low-hanging fruit list16:33
ignas__maharaja, if you know Zope3 - it is a lot easier to understand16:33
bskahanhow's your xhtml/CSS design background?16:33
*** srichter has quit IRC16:34
_maharajawell - i know html, xml and how to work with basic css like positioning, colors, etc.16:35
_maharajaand i know where to get more information on these topics16:35
bskahana gentle introduction might be creating a good browser view for handling many overlapping events16:36
ignas__maharaja, having IE would be nice, our testing lags on that field ...16:36
_maharajapft :)16:37
_maharajai need the private stuff :>16:37
bskahanthe use case for schoolbell is conference schedules with multiple tracks, and in schooltool it would be scheduling a student with a busy timetable schedule16:37
bskahanheh16:38
ignas_and for private stuff - i'd estimate at least 1 hour of discussion with alga or mgedmin + ~8 hours of implementation if i was doing that task16:39
_maharaja-> ?16:39
ignas_i am not even sure how private events should work properly ...16:39
ignas_like - should "superuser" be capable of deleting them ?16:40
_maharajaneither do i as i do not know your architecture/goals/planning/seperation/etc16:40
ignas_they need a proper permission in the acls too16:40
ignas_if we add the permission - we must set it properly in the subscriber16:41
_maharajamhm - so what would you suggest?16:41
ignas_where should we check for it ? what about ical ?16:41
_maharajacause i would be willing to help you16:41
bskahanignas_ would they need an ACL permission?  Private for some, public for others?16:42
_maharajabasically i think that private <-> public is enough16:42
ignas_bskahan, i think they should if they would be implemented properly ... like a superuser can see even your private events ... while others can not16:42
_maharajaso that my private elements are     protected from all16:42
ignas_i suggest pestering th1a so he would include it in the next proposal, because the upcomming one is UI oriented16:43
* bskahan doesn't want to add another table cell to the ACL view ;)16:43
bskahanbut your right, because we don't actually have a "Super user"16:44
ignas_that's what i mean by saying that the task IS complicated16:45
* bskahan nods16:45
bskahanits more complicated than I was thinking, I assumed private meant private from everyone but the manager, but we don't really have something that's inherently "manager"16:46
ignas_the ical, editing, deleting issue is complex too ...16:47
_maharaja-> i would not grant the "manager" the rights to see my private elements per se16:49
bskahanfor schooltool, that would have to be the case16:49
ignas__maharaja, well - you can try, yet do you imagine root having no access to your files ?16:49
_maharajaand from my gutts - adding privateforall elements should be easier16:49
ignas__maharaja, and a security hole too16:50
_maharajaignas_: i thought about that - true.16:50
bskahanmaking your calendar private is pretty easy16:50
_maharajathe hole calendar? or what do you mean16:50
_maharajawhole even16:51
bskahanI thought that's what you meant by privateforall16:51
ignas_no he means - private events are private for all16:52
_maharajayes16:53
bskahanah16:53
ignas__maharaja, well - are you using ical publishing features ?16:53
_maharajayes, i do16:53
bskahanI'm not even sure you could make it private from zope.Manager16:53
_maharajabskahan: np if its visible for  zope.Manager16:53
_maharajaand fine grained acls aren't a problem either16:54
_maharajamy szenario:16:54
_maharajawe're using different ical software (sunbird, etc.) and need a web interface16:54
_maharajaschoolbell looks dammmmmn nice16:54
bskahanschoolbell's default manager has zope.Manager access16:54
_maharajabut lacks some features16:54
_maharajalike proper support for private elements, etc.16:55
ignas__maharaja, well - you can hax the ical import feature to skip private elements ...16:55
ignas_like - make their titles obfuscated16:55
ignas_well sure you will not be capable of editing private events through the web16:55
_maharajaindeed16:55
_maharajabut a sync back to my client will mess things up :)16:56
ignas_yet - you will be safe16:56
ignas__maharaja, you can mess with timestamps16:56
ignas_so ST would tell the calendar that the events stored are older than the ones your ical client has16:56
_maharajaanyways, it would be messing16:56
_maharajawell - thats ugly messsssssssing :)16:57
ignas_well - sorry to disappoint you, but any other easy way to do what you want is - messing, and without knowledge of zope/SchoolTool - most probably ugly ;)16:57
_maharajai prefere an ok-but-not-best implementation16:57
_maharaja*g*16:57
_maharajai'm willing to leanr16:57
_maharajai'm simply not knowing where to start16:57
_maharajaand what tools to use16:57
ignas_start exploring, and use exhuberant-ctags + vi/emacs16:58
ignas_the two arew field tested16:58
_maharajaas i'm coming from php/java and a little c#16:58
_maharajaall on windowsssss16:58
_maharajak16:58
bskahanignas_: related to the permissions on manager, I don't think theres a way to create a new manager account inside schoolbell.  So you could delete the initial manager and then you'd have no manager16:58
ignas_bskahan, no you can't :P16:59
ignas_i have implemented that 2 days ago :)16:59
ignas_in SB16:59
ignas_user can't delete himself16:59
ignas_and anyone who can delete the manager - most probably has the same permissions as the manager does16:59
bskahanheh, that's what I meant17:00
bskahanyou could add a person, grant delete access to the persons container17:00
bskahandelete the manager17:00
bskahanno one can control access now17:00
_maharajabbl - have to go shopping with my gf ;)17:00
bskahan_maharaja: bye17:01
bskahannot sure what the right way to handle that is17:05
bskahananyone with create access on the persons container could render the system pretty useless17:06
bskahanone thing to add is users with zope.Manager should be able to grant zope.Manager to another user, only users with zope.Manager can delete users with zope.Manager17:07
*** gml has joined #schooltool17:07
*** bskahan has quit IRC17:12
*** bskahan has joined #schooltool17:13
ignas_bskahan, create an issue for that ...17:18
* bskahan nods17:18
bskahan283 and 28417:18
*** ignas_ has quit IRC17:27
th1abskahan:  Yes, the intention is to stick with Zope 3.1 when it is out.17:51
bskahanthanks17:52
bskahancan I add issue 284 to our ACL story?17:53
bskahanissue284 is the fact that you can't create a full manager in the current UI17:53
bskahanI want to run it by alga, but I don't see why you shouldn't17:55
th1abskahan:  Good point.17:56
bskahanI'm actually not sure that it should be in the ACL view specifically17:57
bskahanbut it should be somewhere17:57
bskahanbecause the ACL view generally deals other access the "context" of the acl page, while granting zope.Manager is more of a "make this person root"17:58
*** SteveA_ has joined #schooltool18:10
*** bska|mobile has joined #schooltool18:21
*** bskahan has quit IRC18:35
*** SteveA has quit IRC18:35
*** bska|mobile has quit IRC18:40
*** alga has joined #SchoolTool18:48
algath1a: AYT?18:56
algaI've had an interesting idea in the shower today18:56
algaMark's goal is to be THE calendaring component for Z318:56
algaWe're lacking in that respect, as we have generic calendar components, but we do not have generic views for them18:57
algaIt would be good to refactor our schoolbell calendar views so that they inherited from generic calendar views in schoolbell.calendar.browser18:57
algaso that it was easy for people to use such calendar components in their apps18:58
alga'cause right now we have more of the calendaring app, and not much in the sense of a featureful calendaring component18:59
*** erchache has joined #schooltool19:40
erchachehi19:40
erchachei have notice a programmer on my job make a similar program to schoolbell but specific to computer science practice labs19:40
erchacheth1a19:41
*** tvon has joined #schooltool20:47
th1aI am here.21:10
tvonSo am I21:11
th1aalga:  I think we've already lost the Zope 3 calendaring battle, due to licensing.21:11
tvonDid anyone get a issue242 email?21:11
tvonth1a: what do you mean?21:12
th1aI think we're being overtaken by CPSSharedCalendar.21:14
tvonIsn't that a Plone/Zope2 solution?21:15
tvonah, they are aiming for z3 a bit as well21:16
*** erchache has quit IRC21:16
th1aIf we were going to spend more development time on calendaring per se, it would probably need to be merged with their work.21:16
th1aWhich I would like to do, except we've got other stuff to work on.21:16
tvonodd, the installation procedure indicates that it requires zope2, zope3 *and* it shipps with Five included21:17
tvonwtf21:17
th1aalga:  Actually, what you need to do is discuss those issues with Mark at EuroPython, since I won't be there.21:18
algaok21:18
algagotta run21:18
th1aok.  bye.21:18
*** alga has quit IRC21:18
th1aHow hard would it be to turn ZODB's undo functionality in our UI?22:02
*** Aiste has quit IRC22:28
tvonI don't think it would be difficult22:48
*** Aiste has joined #schooltool22:50
*** Aiste has quit IRC22:55
*** ignas has quit IRC23:14
*** Aiste has joined #schooltool23:25
*** SteveA_ has quit IRC23:33
*** SteveA_ has joined #schooltool23:48

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!