Mailing List Archive

Anonymize events - can it be done?
On Mon, 2010-02-08 at 11:45 +0100, J?rg Ro?deutscher wrote:
> Hi,
>
> After asking a question at sourceforge I?ve been
> - told to upgrade (Done, used git to checkout the developer version)
> - pointed to this mailing list. Hello everybody. :-)
>
>
> I try to find a more flexible solution to our WebDav+SomeSelfmadeTools
> hosting, but I don?t manage to build an important function: ?Private?
> events. Or ?anonymized?. Or whatever one could call it.

<SNIP>

> I am working for days with DAViCal 0.9.8.1 and iCal 3.0.8 (Leopard)
> and cannot get such a feature to work with built-in options. Whatever
> I tried with ?freebusy?, transparent/opaque etc doesn?t work for me.
> Other users, given access, can read the full event -or- they cannot
> see it at all.

What you describe is textbook-freebusy, so there must be something wrong
with your solution (FTR: I don't use this yet in our org, so I might be
wrong here).

Freebusy should make it clear to the 'world' that a user is busy without
revealing why that user is busy:
http://wiki.davical.org/w/Free_Busy

Are you sure you didn't overlook the last paragraph?

Vincent
--
Advocatenkantoor Suy, Van Baeveghem & Van Houtte
Brusselsestraat 108
9200 Dendermonde
T +32.52.52.06.05
F +32.52.52.06.46
W http://www.synergylaw.be
Anonymize events - can it be done? [ In reply to ]
Hi,

After asking a question at sourceforge I?ve been
- told to upgrade (Done, used git to checkout the developer version)
- pointed to this mailing list. Hello everybody. :-)


I try to find a more flexible solution to our WebDav+SomeSelfmadeTools
hosting, but I don?t manage to build an important function: ?Private?
events. Or ?anonymized?. Or whatever one could call it.

At the moment everyone here in he company has two calendars:

John_Public
John_Private

Those two are published via webdav. Per cronjob we create a copy of
that calendars. When other people fetch those copies, they can read
everything from ?John_Public?, but whatever John has written in his
private calendar just says ?John private? to them. John himself
certainly sees what he had written into the event

This is of course not to difficult to build, we just duplicate the
calendars, replacing the content with that "$USERNAME private" if the
calendars name matches the suffix ?_private?.




I am working for days with DAViCal 0.9.8.1 and iCal 3.0.8 (Leopard)
and cannot get such a feature to work with built-in options. Whatever
I tried with ?freebusy?, transparent/opaque etc doesn?t work for me.
Other users, given access, can read the full event -or- they cannot
see it at all.


Is it possible to get such a feature working?



Bye, J?rg
Anonymize events - can it be done? [ In reply to ]
On Mon, 2010-02-08 at 11:45 +0100, J?rg Ro?deutscher wrote:
> Hi,
>
> After asking a question at sourceforge I?ve been
> - told to upgrade (Done, used git to checkout the developer version)
> - pointed to this mailing list. Hello everybody. :-)
>
>
> I try to find a more flexible solution to our WebDav+SomeSelfmadeTools
> hosting, but I don?t manage to build an important function: ?Private?
> events. Or ?anonymized?. Or whatever one could call it.
>
> At the moment everyone here in he company has two calendars:
>
> John_Public
> John_Private
>
> Those two are published via webdav. Per cronjob we create a copy of
> that calendars. When other people fetch those copies, they can read
> everything from ?John_Public?, but whatever John has written in his
> private calendar just says ?John private? to them. John himself
> certainly sees what he had written into the event
>
> This is of course not to difficult to build, we just duplicate the
> calendars, replacing the content with that "$USERNAME private" if the
> calendars name matches the suffix ?_private?.
>
>
>
>
> I am working for days with DAViCal 0.9.8.1 and iCal 3.0.8 (Leopard)
> and cannot get such a feature to work with built-in options. Whatever
> I tried with ?freebusy?, transparent/opaque etc doesn?t work for me.
> Other users, given access, can read the full event -or- they cannot
> see it at all.
>
>
> Is it possible to get such a feature working?

There is an option available in 0.9.8 onwards to allow the freebusy.php
URL to be available without authentication - i.e. public freebusy - you
should read:

http://wiki.davical.org/w/Configuration/settings/public_freebusy_url


Other than that, I guess how this would work would to some extent depend
on which CalDAV clients you're using.

Cheers,
Andrew.

------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
You have a deep appreciation of the arts and music.
------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100208/a373411e/attachment-0001.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hi,


Am 08.02.2010 um 16:33 schrieb Vincent Van Houtte:
> What you describe is textbook-freebusy, so there must be something
> wrong
> with your solution (FTR: I don't use this yet in our org, so I might
> be
> wrong here).
>
> Freebusy should make it clear to the 'world' that a user is busy
> without
> revealing why that user is busy:
> http://wiki.davical.org/w/Free_Busy
>
> Are you sure you didn't overlook the last paragraph?


Thanks for your reply. Unfortunately, still no success?

I?ll describe what I did. Possibly we can find my mistake.


Step 1.

I created the account "boss" and "secretary" in davical.

I set up both accounts in my iCal.

I can see events in both accounts "standalone".

Then I open the configuration tab "delegation" for "secretary" in
iCal. Nothing there. This is OK.




Step 2.

Then I give "secretary" full access to "boss" (I know this is wrong
here. We?ll correct that later. I just want to check everything works.)

Then I open the configuration tab "delegation" for "secretary" in iCal
again, like I did before. Since I gave "secretary" full access to
"boss", now I can see a delegation from "boss" there of type "read/
write". I activate the switch and now "secretary" sees everything
"boss" sees and can change his events. Good.

(Well, not really good, since there a "design problem" becomes
visible: Now the secretary can see i.e. a box that says "lunch with
the customer", but she can not find out *whom* the event belongs to.
The box should read "$calendar_name: $eventdescription", i.e. "John:
Lunch with the customer", since the description alone is useless. No,
you don?t want to just use different colours for +20 Employees :-) )
But this is another problem (and possibly due the reduced design of
iCal hiding as much information as possible?), we just ignore it for
now.




Step 3.

As said above, i knew giving "secretary" full access to "boss" was too
much, but now we have proven the setup works basicly. Time to take
permissions away.
In the webinterface I remove the "read/write" permission and replace
them with: "caldav:read-free-busy, caldav:schedule-query-freebusy".
That?s what I get when I press the "Free/Busy"-Button.

Problem:
Back to iCal, "delegation" tab for "secretary" doesn?t contain "boss"
anymore. The complete line has disappeared.
Also, delegated "boss"?s calendars disappeared with all events in it.
"boss" has gone completely.

Hm.


Thanks in advance,
J?rg
Anonymize events - can it be done? [ In reply to ]
Hello,


Am 08.02.2010 um 17:50 schrieb Andrew McMillan:

> There is an option available in 0.9.8 onwards to allow the
> freebusy.php
> URL to be available without authentication - i.e. public freebusy -
> you
> should read:
>
> http://wiki.davical.org/w/Configuration/settings/public_freebusy_url
>


No success?

While not sure if I have to configure this as "Account" in iCal or as
"Web calendar", I tried both.

As account:
http://my.server.de/freebusy.php/boss
"CalDAV No Calendar Home Error"

Documentation says "home" should be left out at the end for iCal, I
tried anyway and both resulted in the error above.


When I try that url as web calendar, I get "Data invalid".

The errors are translated, I have a german version.




> Other than that, I guess how this would work would to some extent
> depend
> on which CalDAV clients you're using.

Hm, possibly. I am forced to use iCal.
However, it should not be too difficult for for the server to deliver
"$user: private" instead of the real event text when free/busy is
allowed.



Bye,
J?rg
Anonymize events - can it be done? [ In reply to ]
On Mon, 2010-02-08 at 18:23 +0100, J?rg Ro?deutscher wrote:
> Hello,
>
>
> Am 08.02.2010 um 17:50 schrieb Andrew McMillan:
>
> > There is an option available in 0.9.8 onwards to allow the
> > freebusy.php
> > URL to be available without authentication - i.e. public freebusy -
> > you
> > should read:
> >
> > http://wiki.davical.org/w/Configuration/settings/public_freebusy_url
> >
>
>
> No success?
>
> While not sure if I have to configure this as "Account" in iCal or as
> "Web calendar", I tried both.
>
> As account:
> http://my.server.de/freebusy.php/boss
> "CalDAV No Calendar Home Error"
>
> Documentation says "home" should be left out at the end for iCal, I
> tried anyway and both resulted in the error above.
>
>
> When I try that url as web calendar, I get "Data invalid".

Yes, I don't believe that iCal understands Freebusy URLs at all. It
expects to retrieve free/busy information from a POST to the user's
calendar inbox on the server in line with one of the draft versions of
the Scheduling Extensions for CalDAV (iCal3 conforms to draft -03 or -04
I think, and iCal4 conforms to draft -07 or -08).

Unfortunately the scheduling extensions are still not finalised, though
now the permissions stuff has moved into mainline DAViCal I expect to
work more to support them in coming months. It would be nice to be
following a specification, rather than a draft, but I don't believe
there will be a lot of change from -08.


> The errors are translated, I have a german version.
>
>
>
>
> > Other than that, I guess how this would work would to some extent
> > depend
> > on which CalDAV clients you're using.
>
> Hm, possibly. I am forced to use iCal.
> However, it should not be too difficult for for the server to deliver
> "$user: private" instead of the real event text when free/busy is
> allowed.

This should happen. If you set an event to be PRIVATE it should be
elided from the result, and if you set it to CONFIDENTIAL it should be
just shown as 'Busy', if a user has read privileges only to that
calendar.

If a user has freebusy only privileges to that calendar, then all events
will be shown as 'Busy', except that iCal won't let you see such
calendars at all... :-(

Does iCal not let you look up the other users, using the e-mail address,
to search free/busy information when you go into a 'schedule meeting'
page or something like that?

Cheers,
Andrew.

------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
Good news from afar can bring you a welcome visitor.
------------------------------------------------------------------------



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100209/53cf6453/attachment.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hello,

Tahnks for your reply.

Am 09.02.2010 um 17:05 schrieb Andrew McMillan:

> On Mon, 2010-02-08 at 18:23 +0100, J?rg Ro?deutscher wrote:
>>
>>
>> When I try that url as web calendar, I get "Data invalid".
>
> Yes, I don't believe that iCal understands Freebusy URLs at all. It
> expects to retrieve free/busy information from a POST to the user's
> calendar inbox on the server in line with one of the draft versions of
> the Scheduling Extensions for CalDAV (iCal3 conforms to draft -03 or
> -04
> I think, and iCal4 conforms to draft -07 or -08).
>
> Unfortunately the scheduling extensions are still not finalised,
> though
> now the permissions stuff has moved into mainline DAViCal I expect to
> work more to support them in coming months. It would be nice to be
> following a specification, rather than a draft, but I don't believe
> there will be a lot of change from -08.

I read that as:
?It won?t work with iCal 3.08. You can stop trying it /that way/.?


>>
>>> Other than that, I guess how this would work would to some extent
>>> depend
>>> on which CalDAV clients you're using.
>>
>> Hm, possibly. I am forced to use iCal.
>> However, it should not be too difficult for for the server to deliver
>> "$user: private" instead of the real event text when free/busy is
>> allowed.
>
> This should happen. If you set an event to be PRIVATE it should be
> elided from the result, and if you set it to CONFIDENTIAL it should be
> just shown as 'Busy', if a user has read privileges only to that
> calendar.

How can I set an event as PRIVATE or CONFIDENTIAL from iCal?
I read about that flag in the documentation, but never found a
corresponding option in iCal.


> If a user has freebusy only privileges to that calendar, then all
> events
> will be shown as 'Busy', except that iCal won't let you see such
> calendars at all... :-(

:-(

> Does iCal not let you look up the other users, using the e-mail
> address,
> to search free/busy information when you go into a 'schedule meeting'
> page or something like that?

There?s nothing like that page in iCal. iCal just shows calendars in a
single screen.




But:

Today, having a short look at the code (caldav-GET.php), i saw that:

else if ( $event->class != 'PRIVATE' ) {
$allowed = true; // but we may well obfuscate it below
if ( ! $request->HavePrivilegeTo('DAV::read') || ( $event->class
== 'CONFIDENTIAL' && ! $request->HavePrivilegeTo('DAV::write-
content') ) ) {
// The user is not admin / owner of this calendarlooking at his
calendar and can not admin the other cal,
// or maybe they don't have *read* access but they got here, so
they must at least have free/busy access
// so we will present an obfuscated version of the event that
just says "Busy" (translated :-)
$confidential = new iCalComponent();


That describes exactly what I am looking for (except we need not only
?Busy? but also the owners name at that point)!

Is that code still inactive for future enhancements, or is there a way
to get it working?

Bye,
J?rg
Anonymize events - can it be done? [ In reply to ]
On Tue, 2010-02-09 at 18:02 +0100, J?rg Ro?deutscher wrote:
> >
> > This should happen. If you set an event to be PRIVATE it should be
> > elided from the result, and if you set it to CONFIDENTIAL it should be
> > just shown as 'Busy', if a user has read privileges only to that
> > calendar.
>
> How can I set an event as PRIVATE or CONFIDENTIAL from iCal?
> I read about that flag in the documentation, but never found a
> corresponding option in iCal.

I just checked with a friend, and it appears that iCal does not allow
you to set an event to PRIVATE or CONFIDENTIAL.



> But:
>
> Today, having a short look at the code (caldav-GET.php), i saw that:
>
> else if ( $event->class != 'PRIVATE' ) {
> $allowed = true; // but we may well obfuscate it below
> if ( ! $request->HavePrivilegeTo('DAV::read') || ( $event->class
> == 'CONFIDENTIAL' && ! $request->HavePrivilegeTo('DAV::write-
> content') ) ) {
> // The user is not admin / owner of this calendarlooking at his
> calendar and can not admin the other cal,
> // or maybe they don't have *read* access but they got here, so
> they must at least have free/busy access
> // so we will present an obfuscated version of the event that
> just says "Busy" (translated :-)
> $confidential = new iCalComponent();
>
>
> That describes exactly what I am looking for (except we need not only
> ?Busy? but also the owners name at that point)!
>
> Is that code still inactive for future enhancements, or is there a way
> to get it working?

That code is still active, it's just that iCal doesn not expose any UI
to let you set CLASS:PRIVATE or CLASS:CONFIDENTIAL from within iCal.

Cheers,
Andrew.

------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
Live in a world of your own, but always welcome visitors.
------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100209/3168b194/attachment.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hello everybody,






Am 09.02.2010 um 19:01 schrieb Andrew McMillan:

> That code is still active, it's just that iCal doesn not expose any UI
> to let you set CLASS:PRIVATE or CLASS:CONFIDENTIAL from within iCal.


Thanks for trying. ;-)

I had a quick look at the code and found a solution for me. It ?kind
of works for me?, if someone is interested I could put some work in it.


--- /home/factor/davical_git/davical/inc/caldav-REPORT.php 2010-02-08
10:05:47.000000000 +0100
+++ /usr/share/davical/inc/caldav-REPORT.php 2010-02-10
12:32:59.000000000 +0100
@@ -85,7 +85,8 @@
if ( !$request->AllowedTo('all') && $session->user_no != $item-
>user_no ){
// the user is not admin / owner of this calendarlooking at
his calendar and can not admin the other cal
/** @todo We should examine the ORGANIZER and ATTENDEE fields
in the event. If this person is there then they should see this */
- if ( $item->class == 'CONFIDENTIAL' || !$request-
>AllowedTo('read') ) {
+ if ( $item->class == 'CONFIDENTIAL' || !$request-
>AllowedTo('read') || preg_match('/(.*)_privat$/uis' , $request-
>collection->dav_displayname , $busyname ) ) {
+ $busyname = isset($busyname[1]) ? $busyname[1]." " : "";
$ical = new iCalComponent( $caldav_data );
$resources = $ical->GetComponents('VTIMEZONE',false);
$first = $resources[0];
@@ -93,7 +94,8 @@
// if the event is confidential we fake one that just says
"Busy"
$confidential = new iCalComponent();
$confidential->SetType($first->GetType());
- $confidential->AddProperty( 'SUMMARY', translate('Busy') );
+# $confidential->AddProperty( 'SUMMARY', translate('Busy') );
+ $confidential->AddProperty( 'SUMMARY', $busyname .
translate('Busy') );
$confidential->AddProperty( 'CLASS', 'CONFIDENTIAL' );
$confidential->SetProperties( $first-
>GetProperties('DTSTART'), 'DTSTART' );
$confidential->SetProperties( $first-
>GetProperties('RRULE'), 'RRULE' );


In human language:

1.
If someone creates a calendar with the suffix '_privat', then don?t
care for the setting and make it readable with a new summary that
reads ?Busy?.

2.
Since iCal doesn?t show from which calendar the event comes from you
don?t know *who* is busy, so you screen is cluttered with boxes that
say ?Busy?. So I add the calendars name here without the ?_private?
suffix.
An event in the Calendar ?BigBoss_privat? will lead to an event
?BigBoss Busy? in the secretaries iCal.


So, I am near-to-happy.

One thing is still painful:
I?ve noticed this settings are applied only after the event changed.

Example:
I run the original davical. Secretary can read everything from boss.
Correct.
I patch the code - secretary still can read everything from
BigBoss_privat! Problem!
Boss modifies the event. Event gets anonymized for secretary as
expected before.
Boss makes new event. Event appears anonymized. Works, as expected
from the beginning.

That means: If I make an error while coding and fix it later, all
accidently not-anonymized events from the meantime remain public until
BigBoss touches them again.
I don?t like that? can someone point me to the right direction?

Bye,
J?rg




--

j?rg ro?deutscher
factor design ag
schulterblatt 58
20357 hamburg

t +49 40 432 571 43
f +49 40 432 571 99
isdn +49 40 432 571 71

joerg.rossdeutscher at factordesign.com


Factor Design AG
HRB 73798
Amtsgericht Hamburg
Vorstand:
Johannes Erler,
Uwe Melichar,
Olaf Stein
Aufsichtsratsvorsitzende:
Elke Wohlrab-Haug
Anonymize events - can it be done? [ In reply to ]
Am 10.02.2010 um 12:53 schrieb J?rg Ro?deutscher:

> I had a quick look at the code and found a solution for me.


?nearly worked.

In the meantime I found out that, if the secretary tries to move the
event that leads to a combination of PUT-(fails)-GET-(works), so the
Event is read again and it?s content becomes visible. So I also edited
patched the GET-function.

I am still facing another problem. If the secretary accidently gained
write-access to Boss?s calendar and she moves the anonymized event,
the anonymized summary gets sent to the server and the ?real? summary
gets overwritten.

Anyway, my work attached so far.

Bye,
J?rg




--- /home/factor/davical_git/davical/inc/caldav-GET.php 2010-02-08
10:05:47.000000000 +0100
+++ /usr/share/davical/inc/caldav-GET.php 2010-02-10
17:08:44.000000000 +0100
@@ -55,10 +55,12 @@
}
else if ( $event->class != 'PRIVATE' ) {
$allowed = true; // but we may well obfuscate it below
- if ( ! $request->HavePrivilegeTo('DAV::read') || ( $event->class
== 'CONFIDENTIAL' && ! $request->HavePrivilegeTo('DAV::write-
content') ) ) {
+ if ( ! $request->HavePrivilegeTo('DAV::read') || ( $event->class
== 'CONFIDENTIAL' && ! $request->HavePrivilegeTo('DAV::write-
content') ) || preg_match('/(.*) Privat$/uis' , $request->collection-
>dav_displayname , $busyname ) ) {
// The user is not admin / owner of this calendarlooking at
his calendar and can not admin the other cal,
// or maybe they don't have *read* access but they got here,
so they must at least have free/busy access
// so we will present an obfuscated version of the event that
just says "Busy" (translated :-)
+ $busyname = isset($busyname[1]) ? $busyname[1]." " : "";
+
$confidential = new iCalComponent();

$ical = new iCalComponent( $event->caldav_data );
@@ -66,7 +68,7 @@
$first = $resources[0];

$confidential->SetType($event->caldav_type);
- $confidential->AddProperty( 'SUMMARY', translate('Busy') );
+ $confidential->AddProperty( 'SUMMARY', $busyname .
translate('Busy') );
$confidential->AddProperty( 'CLASS', 'CONFIDENTIAL' );
$confidential->SetProperties( $first-
>GetProperties('DTSTART'), 'DTSTART' );
$confidential->SetProperties( $first->GetProperties('RRULE'),
'RRULE' );
@@ -135,14 +137,15 @@
}
/** No visibility even of the existence of these events if
they aren't admin/owner/attendee */
if ( $event->class == 'PRIVATE' ) continue;
-
- if ( ! $request->HavePrivilegeTo('DAV::read') || $event->class
== 'CONFIDENTIAL' ) {
+ if ( ! $request->HavePrivilegeTo('DAV::read') || $event->class
== 'CONFIDENTIAL' || preg_match('/(.*) Privat$/uis' , $request-
>collection->dav_displayname , $busyname )) {
// The user is not admin / owner of this calendar looking at
his calendar and can not admin the other cal,
// or maybe they don't have *read* access but they got here,
so they must at least have free/busy access
// so we will present an obfuscated version of the event
that just says "Busy" (translated :-)
+ $busyname = isset($busyname[1]) ? $busyname[1]." " : "";
+
$confidential = new iCalComponent();
$confidential->SetType($resource->GetType());
- $confidential->AddProperty( 'SUMMARY', translate('Busy') );
+ $confidential->AddProperty( 'SUMMARY', $busyname .
translate('Busy') );
$confidential->AddProperty( 'CLASS', 'CONFIDENTIAL' );
$confidential->SetProperties( $resource-
>GetProperties('DTSTART'), 'DTSTART' );
$confidential->SetProperties( $resource-
>GetProperties('RRULE'), 'RRULE' );
--- /home/factor/davical_git/davical/inc/caldav-REPORT.php 2010-02-08
10:05:47.000000000 +0100
+++ /usr/share/davical/inc/caldav-REPORT.php 2010-02-10
15:42:18.000000000 +0100
@@ -82,10 +82,11 @@
$caldav_data = $item->caldav_data;
$displayname = $item->summary;
if ( isset($properties['calendar-data']) ||
isset($properties['displayname']) ) {
- if ( !$request->AllowedTo('all') && $session->user_no != $item-
>user_no ){
+ if ( (!$request->AllowedTo('all') && $session->user_no != $item-
>user_no) || preg_match('/Privat$/uis' , $request->collection-
>dav_displayname ) ){
// the user is not admin / owner of this calendarlooking at
his calendar and can not admin the other cal
/** @todo We should examine the ORGANIZER and ATTENDEE fields
in the event. If this person is there then they should see this */
- if ( $item->class == 'CONFIDENTIAL' || !$request-
>AllowedTo('read') ) {
+ if ( $item->class == 'CONFIDENTIAL' || !$request-
>AllowedTo('read') || preg_match('/(.*) Privat$/uis' , $request-
>collection->dav_displayname , $busyname ) ) {
+ $busyname = isset($busyname[1]) ? $busyname[1]." " : "";
$ical = new iCalComponent( $caldav_data );
$resources = $ical->GetComponents('VTIMEZONE',false);
$first = $resources[0];
@@ -93,7 +94,7 @@
// if the event is confidential we fake one that just says
"Busy"
$confidential = new iCalComponent();
$confidential->SetType($first->GetType());
- $confidential->AddProperty( 'SUMMARY', translate('Busy') );
+ $confidential->AddProperty( 'SUMMARY', $busyname .
translate('Busy') );
$confidential->AddProperty( 'CLASS', 'CONFIDENTIAL' );
$confidential->SetProperties( $first-
>GetProperties('DTSTART'), 'DTSTART' );
$confidential->SetProperties( $first-
>GetProperties('RRULE'), 'RRULE' );
Anonymize events - can it be done? [ In reply to ]
On Wed, 2010-02-10 at 17:15 +0100, J?rg Ro?deutscher wrote:
> Am 10.02.2010 um 12:53 schrieb J?rg Ro?deutscher:
>
> > I had a quick look at the code and found a solution for me.
>
>
> ?nearly worked.
>
> In the meantime I found out that, if the secretary tries to move the
> event that leads to a combination of PUT-(fails)-GET-(works), so the
> Event is read again and it?s content becomes visible. So I also edited
> patched the GET-function.
>
> I am still facing another problem. If the secretary accidently gained
> write-access to Boss?s calendar and she moves the anonymized event,
> the anonymized summary gets sent to the server and the ?real? summary
> gets overwritten.

Yeah, that's the sort of thing that can definitely make this stuff
hairy :-(

Personally I think the boss should be able to trust their secretary
enough to be able to give them full access to their calendar, and if
they don't, then they should urgently find a secretary they can trust!

I realise that realio, trulio, private events do happen, and I think
humans can work around this issue by sticking placeholders into their
calendars like events called "I'm busy and no this cannot be moved" with
anonymity provided by the human layer.

After all, if the boss person is too paranoid to trust their secretary,
then should they not also mistrust their systems administrators?

Cheers,
Andrew.

------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
Ignorance is like cholera. It cannot be controlled by the individual
alone: it requires the organised efforts of society. -- Sir Muir Gray

------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100210/38f0f74b/attachment.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hello,

Am 11.02.2010 um 07:22 schrieb Andrew McMillan:

> Personally I think the boss should be able to trust their secretary
> enough to be able to give them full access to their calendar, and if
> they don't, then they should urgently find a secretary they can trust!


Well, I am pretty sure my boss trusts his secretary. ;-)

It?s more about personal stuff you don?t want others to know like
?Therapy at Dr. Xyz? or ?Talking with the bank about credit?. We are a
small company, often private and business stuff is mixed. Many people
here put personal stuff in their calendar, synchronize it with their
mobile phones etc., and since we want everyone to be able to read
everyones calendar (except the content of personal events) it?s not
really a matter of trust but more of shame. ;-)



Personally I don?t think it?s possible to make two events for personal
events, a public one saying ?I am busy? and a private one saying ?At
the bank?.

- We have a working free/busy solution now. Users would not accept
less than that.
- Synchronizing with a mobile phone and changing the event there would
de-synchonize both events. No, you do not want to edit both events on
your Nokia-Brick. ;-)
- It clutters your own calendar with ?duplicates?.

I will do some testing now with my patches. It kind of works. Possibly
I can find a solution to make it even better, but it works. If someone
else is interested in the code - feel free to take it, I?d like to
participate.


Thanks for helping,
J?rg
Anonymize events - can it be done? [ In reply to ]
On Thu, 2010-02-11 at 09:07 +0100, J?rg Ro?deutscher wrote:
>
>
> Personally I don?t think it?s possible to make two events for personal
> events, a public one saying ?I am busy? and a private one saying ?At
> the bank?.
>
> - We have a working free/busy solution now. Users would not accept
> less than that.
> - Synchronizing with a mobile phone and changing the event there would
> de-synchonize both events. No, you do not want to edit both events on
> your Nokia-Brick. ;-)
> - It clutters your own calendar with ?duplicates?.
>
> I will do some testing now with my patches. It kind of works. Possibly
> I can find a solution to make it even better, but it works. If someone
> else is interested in the code - feel free to take it, I?d like to
> participate.

Yeah. It's kind of frustrating that most of what you are after is
actually already there in DAViCal, but due to a bunch of design
decisions in iCal you can take advantage of very little of it.

If you coded your patch to allow for some kind of configuration option
for 'read-only obfuscated events in calendars matching this naming
pattern' then I would be happy to include it. I don't have a problem
with including such non-default hacks to workaround this kind of issue,
and it makes for good conversation at standards committees :-)

Cheers,
Andrew.

------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
Necessity is the mother of documentation
------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100211/434298f1/attachment-0001.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hello,

>> I will do some testing now with my patches. It kind of works.
>> Possibly
>> I can find a solution to make it even better, but it works. If
>> someone
>> else is interested in the code - feel free to take it, I?d like to
>> participate.
>
> Yeah. It's kind of frustrating that most of what you are after is
> actually already there in DAViCal, but due to a bunch of design
> decisions in iCal you can take advantage of very little of it.

Yes, I understand iCal is the problem. Unfortunately I don?t see any
alternative to Mail+iCal+Adressbook on Macs an iPhones. Other programs
have more features, but they are ugly or geeky, and I am admin of a
design bureau?


> If you coded your patch to allow for some kind of configuration option
> for 'read-only obfuscated events in calendars matching this naming
> pattern' then I would be happy to include it. I don't have a problem
> with including such non-default hacks to workaround this kind of
> issue,
> and it makes for good conversation at standards committees :-)

I am happy to do that.
Unfortunately in the meantime I found out it?s impossible to enter
participants in events to invite people. Someone already reported that
here before I became a list member.
Without invitation a calendar is completely useless for us, so I will
have a look if we wait until this is fixed or give another software a
try. Or stay with what we have now. ;-)
If we end up with a (then working) DAViCal I?ll take the time to
provide well integrated patches. ATM this makes no sense, I think.

Bye,
J?rg
Anonymize events - can it be done? [ In reply to ]
On Sun, 14 Feb 2010 17:16:19 +0100
J?rg Ro?deutscher <joerg.rossdeutscher at factordesign.com> wrote:

>
> I am happy to do that.
> Unfortunately in the meantime I found out it?s impossible to enter
> participants in events to invite people. Someone already reported that
> here before I became a list member.
> Without invitation a calendar is completely useless for us, so I will
> have a look if we wait until this is fixed or give another software a
> try. Or stay with what we have now. ;-)
> If we end up with a (then working) DAViCal I?ll take the time to
> provide well integrated patches. ATM this makes no sense, I think.
>
How does Apples own calendar server iCal Server handle this?
http://www.apple.com/server/macosx/features/ical-server.html

--
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael <at> rasmussen <dot> cc
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xD3C9A00E
mir <at> datanom <dot> net
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE501F51C
mir <at> miras <dot> org
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
--------------------------------------------------------------
Q: How did you get into artificial intelligence?
A: Seemed logical -- I didn't have any real intelligence.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.morphoss.com/pipermail/davical-users/attachments/20100214/0a88c44a/attachment.pgp>
-------------- next part --------------
Anonymize events - can it be done? [ In reply to ]
Hello,

Am 14.02.2010 um 17:42 schrieb Michael Rasmussen:

> On Sun, 14 Feb 2010 17:16:19 +0100
> J?rg Ro?deutscher <joerg.rossdeutscher at factordesign.com> wrote:
>
>>
>> I am happy to do that.
>> Unfortunately in the meantime I found out it?s impossible to enter
>> participants in events to invite people. Someone already reported
>> that
>> here before I became a list member.
>> Without invitation a calendar is completely useless for us, so I will
>> have a look if we wait until this is fixed or give another software a
>> try. Or stay with what we have now. ;-)
>> If we end up with a (then working) DAViCal I?ll take the time to
>> provide well integrated patches. ATM this makes no sense, I think.
>>
> How does Apples own calendar server iCal Server handle this?
> http://www.apple.com/server/macosx/features/ical-server.html

I don?t know. ;-)
I am a web worker, so we use php and mysql.
I tried to avoid Apples calendar server, since it uses the "wrong
language" (python), the "wrong database" (LDAP), is (from my point of
view) poorly documented and the inofficial Ubuntu packages are ages
old. Hey, it was hard enough to get postgreSQL up and running when you
never worked with it. ;-)

Nevertheless I tried with Apples software one or two years ago and
lost. My impression was that too good documentation is not what they
want since you should buy Mac OS X Server. We have a OS X Server, but
I don?t want to connect that machine to the internet. And I don?t like
OS X as server.


As far I understood the discussion here in the list:

http://sourceforge.net/mailarchive/message.php?msg_name=1264654213.25189.129.camel%40happy.home.mcmillan.net.nz

?the issue is possibly an incomplete implementation in DAViCal and
will be resolved, but not too soon. This is OK, however, I am looking
for a solution now.

Bye,
J?rg