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

support for webcal #132

Closed
2 tasks
georgehrke opened this issue Feb 5, 2016 · 27 comments
Closed
2 tasks

support for webcal #132

georgehrke opened this issue Feb 5, 2016 · 27 comments

Comments

@georgehrke
Copy link
Contributor

  • add a subscription service
  • for now query subscriptions on load (using render event with static option)
@georgehrke
Copy link
Contributor Author

georgehrke commented Feb 11, 2016

  • register handler for webcal protocol

@georgehrke
Copy link
Contributor Author

I'm afraid we will have to move this to 1.2.

@georgehrke georgehrke modified the milestones: 1.2-next, 1.1-current Apr 11, 2016
@brot
Copy link

brot commented May 3, 2016

Will this issue be in the next calendar release 1.2? If yes, when can we expect this new calendar version? I ask because this issue should be the solution for my problem (#326).

@georgehrke
Copy link
Contributor Author

@LukasReschke I'm currently working on webcal, when I try to access the ics file directly i get an CSP error. My new approach would be to create an PHP end point in the calendar app the JS could access. This end point would make the actual request to the ics file. The problem is, that the url to the ics file is completely user-controlled, doesn't necessarily need to be an ics file and can have any arbitrary content.

Is there a better approach or is this PHP endpoint thing fine?

(The PHP endpoint would basically return a json with the raw calendar data and maybe a new url if the server with the ics file returned a 301)
I can't access the subscriptions via PHP though. I would have to send the url directly to the PHP endpoint 😕

@LukasReschke
Copy link
Member

@georgehrke So webcal means the ICS basically lives on "google.com" instead of "mycloud.com", is that correct?

Can you also show how you access the ICS file? – This should be pretty easy to resolve using a slightly adjusted CSP in the view controller.

@georgehrke
Copy link
Contributor Author

So webcal means the ICS basically lives on "google.com" instead of "mycloud.com", is that correct?

Exactly

My current approach (with the CSP error) is this one:
https://github.com/owncloud/calendar/pull/443/files#diff-76e5b6d488dfa593c2c71732da4c0532R56

@georgehrke
Copy link
Contributor Author

ping @LukasReschke :)

@strugee
Copy link

strugee commented Jun 17, 2016

Ping @LukasReschke (again, since I really want this feature :D)

@Happyfeet01
Copy link

that would be cool :)

@caco3
Copy link

caco3 commented Jun 22, 2016

I also used the great but now abandoned script (cl-calendarimport) from Georg.
Now, after updating to OC9, I realise that that was a bad move as I now have no option anymore to get my work calendar to my phone :(

Let me explain my use case to show how important this feature is:
My company uses Outlook/Exchange. The sadly do not allow to access the Exchange server from the internet. But Outlook has a feature to export the calendar whenever a change to the calendar occurred (*). So it can upload my calendar as an ics file to a webdav server. This ics file now needs to be imported into a calendar (which should be wiped beforehand). Then my phone can fetch the new calendar.

Note this is only a one-way-sync, but still an acceptable way.

@georgehrke
Copy link
Contributor Author

@caco3 You can use https://github.com/buzz/ics2owncloud.py in the meantime

@caco3
Copy link

caco3 commented Jun 22, 2016

I am aware of this script but it is not too easy to install the required Python modules on the server in use :(
I am currently trying to figure out how to use the modules without having to install them...

@Happyfeet01
Copy link

Can anyone tell me how to run the script? it won´t work anymore for me :(

@Happyfeet01
Copy link

@georgehrke can you tell me how to use this script? maybe on german :-)

@georgehrke
Copy link
Contributor Author

@Happyfeet01 I don't know. I didn't develop it and i never used it.

@caco3
Copy link

caco3 commented Jun 29, 2016

@Happyfeet01: Welchen Script meinst Du?
Den Alten von Georg? Der geht mit Owncloud 9 nicht mehr!
Oder den Neuen auf https://github.com/buzz/ics2owncloud.py? Für den brauchtst Du eine laufende Python-Umgebung und Virtualenv.

@georgehrke
Copy link
Contributor Author

Ich schätze mal das neue

@georgehrke georgehrke modified the milestones: 1.3-current, 1.4-next (ownCloud 9.1) Jul 6, 2016
@tcitworld
Copy link
Member

tcitworld commented Jul 21, 2016

Since some .ics providers (such as Google Calendar) do not have a Access-Control-Allow-Origin header, we cannot use them as-is, and the .ics files need to be downloaded before being used, right ?

Edit : Also, maybe a cache system ?

@georgehrke
Copy link
Contributor Author

@LukasReschke ^

@georgehrke
Copy link
Contributor Author

From IRC:

georgehrke: If you want it client-side set a custom CSP policy on your controller and use \OC\Security\CSP\ContentSecurityPolicy::setAllowedScriptDomains and add the proper domains in there
1:12:47 PM whitelisting is nicer here than going with *

@tcitworld
Copy link
Member

You mean, when adding a new subscription, add it's domain into a config key ?

@georgehrke
Copy link
Contributor Author

After I solved that issue I went into CORS problems, that we can't solve when keeping everything in js.
That's why I added a proxyController in the feature/webcal branch

@georgehrke
Copy link
Contributor Author

implemented in #694

@Pazu
Copy link

Pazu commented Sep 22, 2016

Pardon me, but is there a separate issue open for exposing these subscribed calendars via CalDAV?

@tcitworld
Copy link
Member

That would be a core issue.

@grafenhofer
Copy link

@Pazu @tcitworld I have filed respective bugreports for owncloud and nextcloud (see references above).

@necarnot
Copy link

Hello Georg,

I installed OwnCloud then NextCloud mostly only hoping I could find there a caldav client I could plug in my existing remote DaviCal server. At present (V11), I can only plug in a remote .ics, which is pointless to me.
I'm writing here to ask if there is further dev on this subject?

Best regards,

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

Successfully merging a pull request may close this issue.

10 participants