Another sharing PR #696

merged 77 commits into from Mar 30, 2016


None yet

9 participants

evert commented Jul 28, 2015

Work in progress.


  • Right now we pick a 'default scheduling calendar' that might be a shared calendar. This should always be an owned calendar instead.
  • Decouple notification system from sharing system.
  • Implement getInvites and updateInvites in PDO backend.
  • Test iCal
  • Test BusyCal
  • Re-read old caldav sharing spec and see what we're missing
  • Re-read dav-notifications spec and validate implementation
  • Re-read dav-resource-sharing spec and validate implementation
  • Attain 100% coverage of new code
  • Re-read caldav-sharing spec and validate implementation
  • update new sql table names to not have underscore

Fixes #803

evert added some commits Jul 7, 2015
@evert evert {DAV:}share-resource parser. dcce5d5
@evert evert CS fe41412
@evert evert CS 234a5a5
@evert evert Merge branch 'master' into sharing-take-2 4280b0f
@evert evert wip da98db6
@evert evert Merge branch 'master' into sharing-take-2
@evert evert self-assigned this Jul 28, 2015
@evert evert added this to the 3.1 milestone Jul 28, 2015
evert added some commits Jul 28, 2015
@evert evert Moved the first bits of functionality into the generic plugin. f793567
@evert evert New link. a0d2362
@evert evert Merge remote-tracking branch 'origin/master' into sharing-take-2
@evert evert Removing extra whitespace.
@evert evert Sharing properties wip.
@evert evert {DAV:}share-mode
@evert evert test for share-mode serializer.
@evert evert CS.
@evert evert Merge branch 'master' into sharing-take-2
@evert evert More tests wip bdb9d81
@evert evert Merge branch 'master' into sharing-take-2 2c5b813
@evert evert Working towards implementing sharing in default backends.
Very broken at the moment.
@evert evert CalDAV backend works again, with multiple instances this time.
@evert evert Coding standards
@evert evert Ensuring mysql testcases will run.
@evert evert Secret space.
@evert evert Merging the 'Shared' and 'Shareable' interfaces into one, sane interf…
@evert evert Fixing tests wip. 4b1587b
@evert evert Many tests work again. A few left though
@evert evert Disabling fast_finish. See if that fixed my excessive email problem.
@evert evert No more irc notifications. 396e795
@evert evert referenced this pull request Oct 20, 2015

Sharing upgrades #682

evert added some commits Oct 20, 2015
@evert evert CalDAV tests are passing again (omg)
@evert evert CS
@evert evert Removed extra space. 67d1218
@evert evert Bumped sabre/cs minimum version. 273b946
@evert evert Renamed phpunit.xml to phpunit.xml.dist to be more in line with sabre…
@evert evert More CS
@evert evert Disconnected sharing from notifications.
@evert evert More CS
@evert evert Removed unused stuff. f6891ce
@evert evert Merge branch 'sharing-take-2' of into shar…
@evert evert Merge branch 'sharing-take-2' of into shar…
@evert evert Merge branch 'master' into sharing-take-2
@evert evert referenced this pull request in fruux/sabre-katana Dec 18, 2015

[meta] Calendar sharing #232

lkraav commented Dec 18, 2015

Ty sir for the pointer. I checked all issues, but missed the PR list.

Does this need user testing? If the data model changes are easily reversible (only new tables added?), I'd be down to play around on production.

EDIT I see from the diff calendars table is also affected. But probably not a big deal.

@lkraav lkraav and 1 other commented on an outdated diff Dec 18, 2015
@@ -0,0 +1,257 @@
+#!/usr/bin/env php
+echo "SabreDAV migrate script for version 3.1\n";
+if ($argc < 2) {
+ echo <<<HELLO
+This script help you migrate from a 3.0 database to 3.1 and later
+* Created a new calendar_instances table to support calendar sharing.
lkraav Dec 18, 2015

Aren't the previously existing table names all underscore-free?

evert Dec 18, 2015 Member

yea you're right. Probably worth bringing in line with the rest. I wish I had used underscores since the start.

And yea, these changes will not be reservable. But it's also not yet in state where it can be tested. Bit too early for that.

@evert evert modified the milestone: 3.1, 3.2 Jan 5, 2016
evert added some commits Jan 11, 2016
@evert evert Merge branch 'master' into sharing-take-2
@evert evert Minor bugfixes 4630979
@evert evert Updating to match new draft. New sharee object.
@evert evert Sharee is now an XML element. Work on invite property. 282c261
@evert evert CS e487680
@evert evert Fixed some docblocks
@evert evert Tested the Invite property.
@evert evert Making CalDAV sharing work again. wip
@evert evert Slowly kicking CalDAV in line with the new API
@evert evert Fixed more CalDAV tests.
cerw commented Feb 9, 2016

How stable is this?

evert commented Feb 9, 2016

I believe that this is not working at all.

cerw commented Feb 9, 2016

@evert is there any working sharing calednar solution based on sabre?

evert commented Feb 9, 2016

There is no 'out of the box' caldav sharing feature right now (other than delegation, which has worked for years, but is a bit different).

If you run the current (stable) sabredav, you could implement the Sabre\CalDAV\Backend\SharingSupport interface on your CalDAV backend class to gain sharing support.

But keep in mind that we will break backwards compatibility with that interface as soon as this feature lands. I'm not entirely sure when it's done.

evert added some commits Mar 9, 2016
@evert evert Merge branch 'master' into sharing-take-2
@evert evert What do you do for a living?
I build ugly web interfaces.



haha :)

evert added some commits Mar 22, 2016
@evert evert Merge branch 'master' into sharing-take-2
@evert evert More tests for sharing plugin + bug fixes
@evert evert Merge remote-tracking branch 'origin/master' into sharing-take-2
@evert evert CS 4d93652
@evert evert Work on getting old-school sharing to map to the new system
@evert evert Tests are passing. Weird!
@evert evert Forgot these changes...
@evert evert We now require sabre/xml 1.3 cf8133e
@evert evert Added a few more useful default plugins a1b1906
@evert evert Typo 7338aa3
@evert evert It doesn't make sense to show the share UI for non-shareable nodes.
@evert evert Ugprade script will be for version 3.2. fc7cf24
@evert evert We need at least sabre/uri 1.0.1. d7271e0
@evert evert Corrected filename of migration script
@evert evert Repairing the components field if it was NULL before.
@evert evert The old invite property now works correctly.

Oh it is great so see progress on this! Thanks alot @evert !!
Do you have any ETA for the sharing features?

Reason I am asking: alot of projects and groups demand not-googlish online calendars, including sharing features. owncloud is the only stack with a useable admin interface, but alot of people refuse to setup the whole owncloud heap for security, speed and maintainability reasons. the other alternative is projects like radicale, altho missing a end-user suitable admin interface (or better: using LDAP as backend will never attract endusers ..%) )!

Hence I believe baikal is the stack alot of people are waiting for. I'd even be willing to donate a for the feature!

@evert evert referenced this pull request Mar 24, 2016

Sharing support in sabre/dav #803

evert commented Mar 24, 2016

Hi @phaidros7 ,

Glad you like the feature. I think this is fairly close to a release, but it will take a bit longer before it's also in baikal. If you are interested in sponsoring, I recently setup Bountysource.

Here you can either sponsor the team as a whole or post bounties on specific features. If you want to post a bounty on this feature specifically, you can do that via #803.

evert added some commits Mar 30, 2016
@evert evert Merge branch 'master' into sharing-take-2
@evert evert Saner type check 17d00a0
@evert evert Unused variables 60c5225
@evert evert MySQL PDO sharing is now tested. 18c2fd5
@evert evert sqlite schema also works.
@evert evert CS e362385
@evert evert Sharing plugin now automatically hooks up principal info. fbf3362
@evert evert iCal is now working. + fixed tests.
evert commented Mar 30, 2016

This is now ready for review / testing.

evert added some commits Mar 30, 2016
@evert evert Docs changes
@evert evert Lots of new unittests.
evert commented Mar 30, 2016

If travis passes my tests, I'm landing this. Finally!

@evert evert merged commit 1c8a998 into master Mar 30, 2016

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build is in progress
continuous-integration/travis-ci/push The Travis CI build passed
prism69 commented May 4, 2016

Forgive my noobiness but im trying to figure out how to share a calendar on Baikal...or is this not yet a feature?

evert commented May 4, 2016

It's not.

@evert evert deleted the sharing-take-2 branch May 4, 2016
prism69 commented May 4, 2016

Thanks Evert, would you know if such a feature is imminent and, if not, what other open source calendar server I should be looking that has sharing?

phsc commented May 4, 2016

You could try Owncloud 9.

evert commented May 4, 2016

The feature is going to be part of sabre/dav 3.2, which is a few weeks out. The plan is to then release baikal a few weeks after that. So this should be somewhere in June/July.

prism69 commented May 4, 2016

thanks, I guess I will wait.

mrsmn commented Jul 29, 2016

@evert Any news on calendar sharing landing in Baïkal?

evert commented Jul 29, 2016

This will happen later in the year. Baikal deseparately needs a re-architecture for this to work somewhat sanely. So we will first launch with silex support, and then sharing will come too.

You can track progress here: fruux/Baikal#568
any help is appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment