Hi,

I'd like to start a discussion related to the area of our Calendar and Contacts 
apps.

As of today both apps take care about backend topics like WebDAV interfaces and 
storage in the database and in addition they deliver a web UI.

Both apps suffer from many issues - most important:
- due to the tight dependency these apps are bound to the ownCloud core version 
(SabreDAV)
- Code path are duplicated because data and functionality is exposed via WebDAV 
and AJAX/JSON routes

Especially recent forks and rewrites of these apps (mainly Calendar and Tasks) 
have shown that the reason has been different approaches with respect to the 
UI, e.g. use javascript lib X instead of Y or different UI/UX mentalities.

As of today these forks require a duplication of the backend code as well and 
results in necessary data migration (import and export) of data and causes some 
inconvenience. While this might be acceptable the simple fact that many users 
out there simply "only" want a proper CalDAV and CardDAV sync installation we 
should consider a split of backend and frontend code.

My suggestion would be to implement a shipped app which holds all necessary 
CalDAV and CardDAV interfaces and simply takes case about sync of contacts and 
calendar. As public api for apps CalDAV and CardDAV can be used - additional 
functionalities like sharing can be offered as public rest or OCS calls.

The concept will then be the same as we are about to implement for 8.2 with 
respect to core/files. The files apps will no longer contain backend code but 
interact with core using WebDAV and OCS sharing API.

>From my POV this would be a big step forward with respect to building a 
>scalable and stable platform for the future.

Regards,

Tom aka DeepDiver
_______________________________________________
Devel mailing list
[email protected]
http://mailman.owncloud.org/mailman/listinfo/devel

Reply via email to