On Wed, Jul 10, 2013 at 01:21:48AM +0200, Ján Máté wrote:
Sorry but I don't fully understand the design of your "integration" - maybe a demo URL can help to understand it.
on your test system,
http://www.inf-it.com/carddavmate/#http://www.inf-it.com:80/proxy/caldav.php...
should open the contact "Picard Jean-Luc" in the colleagues address book.
UID change in CardDavMATE (e.g. http://username@server:port/principal_url/object.vcf) is very bad idea, because I support multiple logins to the SAME principal URL with different username - so the login name MUST be a part of UID.
the reason why i stripped the 'test@inf-it.com@' from aftert the '#http://' in the above url is the basic assumption that an http resource (and, in particular, a webdav or carddav one) is basically independent of by which credentials it is accessed, and in general one can't predict which credentials the one who finally resolves the link will have available.
the implementation could even accept links with user name, but should be prepared to search the available address books for one that matches if stripped off the user name and open that one. in pseudocode:
requested_resource = window.location.hash requested_host = get_host_part(requested_resource) for current_principal in available_principals: if requested_resource starts with remove_username(current_principal): open requested_resource, replacing remove_username(current_principal) with current_principal
i don't know where we should talk of host names and where of principals here, but do you see what i mean?
best regards chrysn