Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared Calendars #120

Closed
sternenseemann opened this issue Sep 11, 2013 · 44 comments
Closed

Shared Calendars #120

sternenseemann opened this issue Sep 11, 2013 · 44 comments
Assignees

Comments

@sternenseemann
Copy link

Give Users the ability to share Calendars with other Users.

@selfagency
Copy link

+1

@pensan
Copy link

pensan commented Sep 15, 2013

+1

also shared address books

@1cu
Copy link

1cu commented Sep 27, 2013

+1

@plushcthulhu
Copy link

This is a duplicate of bug 73.

@ghost
Copy link

ghost commented Oct 2, 2013

+1

1 similar comment
@stephankellermayr
Copy link

+1

@BobWs
Copy link

BobWs commented Oct 15, 2013

+1 AND FOR ADDRESS BOOK

@BobWs
Copy link

BobWs commented Oct 15, 2013

Take a look at owncloud. They did a great job with sharing calendar and contacts. I'm not using owncloud any more because it is way to sloooo. Baikal is much faster. So sharing ability would be nice!

@RustyPixel
Copy link

This may work

https://github.com/musonic/sabre-share

@Fjury
Copy link

Fjury commented Dec 30, 2013

+1
Please add sabre-share to baikal

THX

@ueberkim
Copy link

Please! +1

@hosniah
Copy link

hosniah commented Jan 1, 2014

+1

1 similar comment
@0rph3us
Copy link

0rph3us commented Jan 22, 2014

+1

@fao
Copy link

fao commented Jan 27, 2014

oh yes, please :) +1

@brokenwings0404
Copy link

I believe Baikal ha a built in feature that allow read and write delegation to other user of the system by using proxy write and read entry on the principal table. All it take is a Interface to set it. CalDAV seems possible.

@343max
Copy link

343max commented Feb 9, 2014

+1

@sgalonska
Copy link

While baikal does not support this feature today, the underlying SabreDAV does. So if you need this today, you can manually hack it into your database. It worked well for me: https://code.google.com/p/sabredav/wiki/CalDAVProxy

@Tulpenzwiebel
Copy link

@sgalonska May you publish your patched versions? Or something like a how-to?

@mxz-redhot
Copy link

@Tulpenzwiebel 👍

@DerZyklop
Copy link

+1 (set up shared calendars via interface)

@DerZyklop
Copy link

This is a dublicate issue. Here is the first one i found: #51

@Yamakasi
Copy link

I also wonder how this works, I need to set the default calendar to readonly for each user... is this possible ?

@larseggert
Copy link

@sgalonska When I follow the SabreDAV instructions, calendar sharing works. However, for whatever reason, the baikal address book stops syncing. Removing the groupmembers entries un-breaks the address book. Have you run into this?

@stefs
Copy link

stefs commented Sep 18, 2014

+1

@larseggert
Copy link

FYI, the fix to the broken address book is in #93

@hardoverflow
Copy link

+1

1 similar comment
@confile
Copy link

confile commented Oct 12, 2014

+1

@confile
Copy link

confile commented Oct 12, 2014

Is Baikal still under development?

@DerZyklop
Copy link

guess not. Last commit was on "Feb 18". @netgusto never replied here.

Maybe it's time for an more active fork of this.

@confile
Copy link

confile commented Oct 13, 2014

Is there an active fork of Baikal?

@netgusto
Copy link
Member

Not a fork, but a rewrite: https://github.com/netgusto/Baikal2

@confile
Copy link

confile commented Oct 13, 2014

Did you try Baikal2? Does it work well?

@netgusto
Copy link
Member

I write it :) It works, yes, but UX is unfinished. Expecting a release for Q1 2015.

@confile
Copy link

confile commented Oct 13, 2014

My usecase is to use it for my Android, iPhone and iCal. Can I still use it for that?

@netgusto
Copy link
Member

Yes, as long as CalDAV/CardDAV is supported on these devices, thanks to the efforts of @evert :)

@confile
Copy link

confile commented Oct 13, 2014

So which part ist actually not working?

@netgusto
Copy link
Member

The frontend view (new, non-existing in B1); the carddav web client and the caldav web client (to edit your data online); resources sharing.

@confile
Copy link

confile commented Oct 13, 2014

Beside that I can use Baikal2 like Baikal1?

@netgusto
Copy link
Member

Yes. Be aware that things may change (code and DB) until release, though.

@confile
Copy link

confile commented Oct 13, 2014

Okay fine. One last question. When you change something how do I make the update? For the server code I suppose I just replace the code in the Baikal folder on the server but how do I make the updates with the database? Does the server code includes any migrations which automatically update the database?

@netgusto
Copy link
Member

For the code: I can only recommend to use git to fetch code until release.
For the DB: yes, DB migrations are implemented on top of Symfony/Doctrine; use like so:

# on the command line, root of the project

$ php app/console doctrine:migrations:migrate

I don't intend to produce much migrations until release, though (for obvious reasons :) ).

@confile
Copy link

confile commented Oct 13, 2014

Okay so without migrations it will not good to use Baikal2 right now.

@api984
Copy link

api984 commented Oct 28, 2014

Sharing can be done on the DB level. I was playing a little with changing PDO.php and added a modified SQL query and also added a COLUMN to Calendars and Addressbooks. Also added a hidden principal for sharing with IMAP authentication. So when users logges in 1st time sql inserts/replace are made into calendars, addressbooks, principals, memebergroups (principal with id that is shared to all users). To tight up security i blocked principal in URI so its not available directly.
I had to remove principal uri DEFAULT because it cant be shared since all users have default. So
i used URI like pim_username for default URI. Iphone, android see these with autodiscovery. so you would get something like https://baikal/card.php/addressbooks/USER/pim_user or if shared https://baikal/card.php/addressbooks/USER/pim_other only if user exists in shared_to column. if shared to has a value all then its something like GLOBAL to all addressbook. now the trick is that global data has to be read only. to make it read only i used URI like https://baikal/card.php/addressbooks/USER/pim_global_somename and inside of config.system.php a IF statment that points to a different MYSQL db user that only has SELECT priviledge. Also added password filtering if
users have blank/default company passwords if the service is internet public. For now everything behaves as expected and it works just with tweaking PHP code and not using DAV advanced because I dont know DAV core functionality. For my use its ok. Also had to write little nginx/apache rewrite rules to shorted URL typing so I dont loose time adding things on android. Still waiting for BB OS10 blackberry to test and a windows phone too if lucky. Just seem to fall in love with Baikal and how great it works when used with a MYSQL db. thats for now....
i was also thinking about using a LDAP auth instead of IMAP, and disabling calendar and addressbooks delete functions with logging when sometihng is shared so i would know who deleted someting. but that visible in access logs... good enough for me....

keep up the good work....

@netgusto
Copy link
Member

Resource sharing will be supported by Baïkal 2. See #303.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests