Commit Graph

114 Commits

Author SHA1 Message Date
Ralf Becker
b2fa12eb3e remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag 2011-10-08 11:34:55 +00:00
Ralf Becker
e654d3fbfb correctly handle uid/name-part of path containing #%? 2011-10-06 07:51:24 +00:00
Ralf Becker
e05ce4d614 enclosing etag in quotes, as most servers do 2011-10-05 08:15:24 +00:00
Ralf Becker
b227e61236 removed certain properties defined only on the principal 2011-10-04 11:37:44 +00:00
Ralf Becker
4eaf9609c1 fixed docu-typo 2011-09-28 15:41:42 +00:00
Ralf Becker
7443fdc639 * GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements 2011-09-26 10:20:27 +00:00
Ralf Becker
b791b23f08 fixed typo causing to not announce addressbook outside of addressbook folder 2011-09-26 06:39:13 +00:00
Ralf Becker
14dde4c1ff iOS iCal sends now pricipal-property-search reports to autocomplete participants, but not (yet) displays the result, for whatever reason ... 2011-09-25 12:00:20 +00:00
Ralf Becker
0a7b7e40c8 - improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Ralf Becker
3f830b2bff - implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
  matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
  --> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Ralf Becker
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
d5f9c5b93c - show user collections /<username>/(addressbook|calendar|infolog)/ in propfind
- only define addressbook-home-set and calendar-home-set for principal-collections
- advertice /addressbook/ as addressbook-gateway (searchable collection for all contacts accessible to a user)
2011-09-20 19:16:24 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Ralf Becker
f61e4dfcfa added collection to /principals/ resourcetype and principal-collection-set to root 2011-09-17 12:29:51 +00:00
Ralf Becker
7f7e84afaa activating calendar-proxy in OPTIONS 2011-09-16 11:48:28 +00:00
Ralf Becker
2a7127a4c3 show real namespaces instead of not (visibly) defined shortcuts 2011-09-16 10:21:40 +00:00
Ralf Becker
79d12b67be * CalDAV: user agent detection of OS X 10.7 Lion iCal app (CoreDav instead of DavKit) 2011-08-02 12:59:23 +00:00
Ralf Becker
fe2b0d17bc * CalDAV/GroupDAV/KDE Akonadi seems to require redundant namespaces, see KDE bug #265096 https://bugs.kde.org/show_bug.cgi?id=265096 2011-06-13 09:10:10 +00:00
Ralf Becker
87ee0f0088 * CardDAV: store name part of URL from client PUT request, to fully comply with CardDAV spec 2011-04-05 20:39:13 +00:00
Ralf Becker
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Jörg Lehrke
c59cb90742 * CalDAV: Apply other users' calendar color, too 2011-02-13 21:08:29 +00:00
Ralf Becker
9a8e3dc1f6 switched off forgotten permanent error_log 2010-11-03 10:05:08 +00:00
Ralf Becker
89b8f68f7e new debug-level user-preference, show getctag in autoindex and do NOT treat webkit browsers like kde clients 2010-10-31 07:56:29 +00:00
Ralf Becker
20a409ca52 * iCal on iPhone detects URL now correct
reverted calendar-home-set to report only users calendar, as reporting multiple break propfind
2010-10-20 18:59:27 +00:00
Ralf Becker
e86f5fb663 fixed bug: GroupDAV/CardDAV PUT request to /addressbook/ changes owner, also checking now required ACL for moving contacts between addressbooks 2010-10-20 15:47:30 +00:00
Ralf Becker
4e65bde081 urlencode and decode account_lid in url to cope with group-names with space in it, which stall iPhone OS 4.2 devices 2010-10-20 14:37:48 +00:00
Ralf Becker
90f975ff85 fixed missing "users" of principal url in calendar-user-address-set 2010-10-20 09:42:06 +00:00
Jörg Lehrke
33bd0fed50 Announce all available addressbooks and calendars of the current user with GroupDAV 2010-10-09 22:49:10 +00:00
Ralf Becker
1237e5d754 adding EGroupware version to X-Dav-Powered-By header eg. "EGroupware 1.8.001 CalDAV/CardDAV/GroupDAV server" 2010-09-28 08:32:11 +00:00
Jörg Lehrke
40d786871e Improve Mac OS Addressbook.App CardDAV support as far as reasonable 2010-09-25 15:19:48 +00:00
Ralf Becker
ed733eef42 * iPhone and Mac Addressbook support aka Apple CalDAV/CardDAV autodetection
Addressbook does NOT allow to specify the URL, unlike iCal which allows it after autodetection fails.
This, some XML specifics set now for Apple addressbook user-agents and etags for addressbook collection itself
allow now to use EGroupware with iPhone or Mac addressbook. The later was working before, if you edited the URL
into a decompiled plist file, but failed now because of a new REPORT it tries on the principal, to find out shared
addessbooks, which we not yet support, but failed to tell in the correct way (501 Not Implemented).
Addressbook sync now the personal addressbook, because that is what we tell it as addressbook-home-set.
We should add some configuration so user can choose what addressbook to set as addressbook-home-set, or to set
the "all" addressbook (/addressbook). For the later we could add some prefs like SyncML to specify filters or
eg. a distribution list.
2010-09-25 09:08:37 +00:00
Jörg Lehrke
2e0e03205d Fix group principals issue 2010-09-18 08:45:46 +00:00
Jörg Lehrke
bce68a9e82 Fix CalDAV group attendee issue; various GroupDAV improvements 2010-06-27 22:16:22 +00:00
Jörg Lehrke
df36afa1ed Fix DAV issue for neon for GroupDAV, too 2010-05-18 10:45:46 +00:00
Jörg Lehrke
27f1fef944 Fix CalDAV invitation issue (Stylite#513) 2010-05-17 14:20:34 +00:00
Ralf Becker
d4869ec11a makeing <href></href> clickable again 2010-04-23 16:08:04 +00:00
Jörg Lehrke
50ff02da4d Add CardDAV support for Apple's latest Addressbook.app 2010-04-21 17:44:36 +00:00
Jörg Lehrke
211d2818cb Enable ../groupdav.php/calendar/ again 2010-04-16 21:53:34 +00:00
Jörg Lehrke
4dc9ed98f9 Fix hierarchical properties issue 2010-04-16 18:58:32 +00:00
Jörg Lehrke
30a3296c8e Optimze and clean up GroupDAV 2010-04-13 15:31:59 +00:00
Jörg Lehrke
fcf1de6a1c Cleanup GroupDAV code 2010-03-22 15:04:21 +00:00
Jörg Lehrke
99255ecb25 disable GroupDAV debug logs 2010-03-06 23:32:28 +00:00
Jörg Lehrke
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +00:00
Jörg Lehrke
72e55f9753 Fix GroupDAV issues 2010-02-26 11:04:01 +00:00
Ralf Becker
8d55e4800e fixed supported-report-set according to a calendarserver example and reorganized HTTP_WebDAV_Server to generally support hierachical properties 2010-01-07 04:24:45 +00:00
Ralf Becker
b446f6de4e supported-report-set as required for CardDAV and Sogo connector 2010-01-07 02:04:09 +00:00
Ralf Becker
d53f0c91bf ctag for addressbook, sogo connector seem to require it, thought it should be optional, anyway ctag makes sense 2010-01-05 23:25:17 +00:00
Ralf Becker
c1f385be48 "fix autoindex to work with iterator" 2009-10-17 12:22:40 +00:00
Ralf Becker
ee536325fc "improved support for other users calendar/addressbooks" 2009-10-03 10:22:14 +00:00
Ralf Becker
a8c9eebf52 Fix to get iCal in OS X 10.6 working (again):
WebDAV RFC 4918 allows a full url or a path as <D:href>:
        http://www.webdav.org/specs/rfc4918.html#ELEMENT_href
Some clients can NOT deal with one or the other:
- KAddressbook (at least in 3.5) can NOT subscribe to addressbooks (it
  does not find them) if just a path is used
- iCal in OS X 10.6 generates wrong requests, if a full url is used
2009-09-14 08:44:37 +00:00
Ralf Becker
8d60b25ccf "autoindex for collections:
- listing resources in collection
- displaying properties
--> easy debuging and discovery of CalDAV server"
2009-08-16 15:24:43 +00:00
Klaus Leithoff
b8601d92d7 njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
Klaus Leithoff
e9fb294676 groupdav: switching of debug 2008-09-12 11:10:13 +00:00
Ralf Becker
7ce97ba699 - .ics extension for todos and events
- new GroupDAV v2 component-set attribute for collections
- getlastmodified & getcontentlength properties for infolog propfind
- fixed propfind on a single infolog entry to return just that entry
- getcontenttype of vevent and vtodo collection returns extra component
2008-08-04 19:08:09 +00:00
Ralf Becker
510f9baf94 "KAddressbook still has problem with self URL in propfind of /addressbook/ collection contains GroupDAV resourcetype, disabling it only for KAddressbook " 2008-07-08 05:52:04 +00:00
Ralf Becker
9f30e824b0 enforce a certain strength of uid, as some clients set quite weak ones) 2008-05-20 04:59:26 +00:00
Ralf Becker
3f6d4f41c2 "- call_user_func requires php5.2 and we want to be php5.1 compatible
- also allowing handler to not define an extra_properties method"
2008-05-18 19:16:33 +00:00
Ralf Becker
a659e4eb6b propagate base_uri and debug level to handlers 2008-05-17 12:54:26 +00:00
Ralf Becker
dfc7176959 "- correct handling of depth: 0 in /
- initialise $files['files'] = array() to quiten some warning if propfind returns nothing"
2008-05-17 07:05:57 +00:00
Ralf Becker
f0f056420f "return only the self URL for propfind on app folder with depth 0" 2008-05-10 20:32:03 +00:00
Ralf Becker
0afb2d0324 pricipals and groups collection for WebDAV Acl, to improve support for Apple iCal, you can now use http://domain.com/egroupware/groupdav.php/pricipals/username as account-url in iCal 2008-05-10 20:15:02 +00:00
Ralf Becker
d2e9143213 First version of new CalDav/CardDAV/GroupDAV access for calendar and
addressbook (infolog will follow).
CalDAV is tested so far with lightning 0.8 and Apple's iCal. Please note
that both distinguish between iCalServer and CalDAV!
The URL is currently http://domain.com/egroupware/groupdav.php/calendar/
2008-05-08 20:31:32 +00:00