Feature #1077

ICS view of Calendar

Added by Adam Knight almost 6 years ago. Updated about 1 year ago.

Status:NewStart date:2008-04-18
Priority:NormalDue date:
Assignee:-% Done:

90%

Category:Feeds
Target version:-
Resolution:

Description

It would be really nice if we could get an ICS view of a project calendar similar to how we get RSS feeds of project activity. This way users can see all the events (and milestones/versions) in their calendar software and the activity in their RSS readers.

ICS_Support.patch Magnifier (6.72 KB) Florian L, 2008-04-30 23:17

ICS_Support__2.patch Magnifier (3.75 KB) Florian L, 2008-05-05 19:35

ICS_Support__3.patch Magnifier (3.05 KB) Sławek Goszcz, 2009-09-07 10:43

ICS_Support__4.patch Magnifier (4.5 KB) Frank Schwarz, 2009-11-23 21:55

ICS_Support__5.patch Magnifier (4.74 KB) Frank Schwarz, 2009-11-24 07:03

redmine-0.9-stable-roadmap-icalendar-ics-export.patch Magnifier - iCal integration (webcal subscription, ics export) (5.8 KB) y v, 2010-05-30 18:23

redmine-roadmap.png (187 KB) y v, 2010-05-30 18:24

ical-overview.png (224 KB) y v, 2010-05-30 18:24

ical-subscription.png (63.6 KB) y v, 2010-05-30 18:24

ical-todo.png (32.9 KB) y v, 2010-05-30 18:24

ical-url.png (41.1 KB) y v, 2010-05-30 18:24

redmine-roadmap-2.png (262 KB) y v, 2010-05-30 18:24


Related issues

Duplicated by Feature #1442: ICS generation Closed 2008-06-13
Duplicated by Feature #6168: ical subscribtion for calendar Closed 2010-08-18

History

#1 Updated by Maxim Krušina almost 6 years ago

+1

#2 Updated by Stephanie Collett almost 6 years ago

+1

#3 Updated by Florian L almost 6 years ago

  • File ICS_Support.patchMagnifier added
  • Status changed from New to Resolved
  • Target version set to 0.7.1
  • % Done changed from 0 to 100

This patch add the functionnality : "Also available in: iCal" !

I worked with the revision 1388.

This patch provide all the events from the beginning of the project till now.

Enjoy,
Florian

#4 Updated by Florian L almost 6 years ago

Its based on http://icalendar.rubyforge.org/

So you need to install iCalendar via GEM :
  1. gem install icalendar

#5 Updated by Thomas Lecavelier almost 6 years ago

  • Status changed from Resolved to 7
  • % Done changed from 100 to 50

Florian,

Please correct these problems with your patch:

  1. the patch don't mention the r1388, applying it will mess the merger
  2. the file app/views/projects/calendar.rhtml is binary encoded instead of text
  3. a minimal test harness should be a real plus for integrating this patch

#6 Updated by Jean-Philippe Lang almost 6 years ago

  • Target version deleted (0.7.1)

#7 Updated by Florian L almost 6 years ago

New version. Bugs fixed. Tested on two production version.

Any feedbacks ?

#8 Updated by Florian L almost 6 years ago

  • Target version set to 0.8

#9 Updated by yann belot almost 6 years ago

Hi,

how can we use it ?

thx

#10 Updated by Daniel Netzer over 5 years ago

+1 Would be a very cool feature.

#11 Updated by Joris Verschoor over 5 years ago

If I go to: http://xxxxxxx/projects/calendar/PROJECTNAME?format=ics I get a missing template error:

ActionController::MissingTemplate (Missing template common/calendar.ics.erb in view path xxxxx/redmine-0.7.3/a
pp/views):

#12 Updated by Jan Ivar Beddari over 5 years ago

+1

Combining ICS-support with something like http://remotecalendars.sourceforge.net would be of great value in enterprise use cases. Remote access would need to be secured somehow, does this patch already add some sort of password auth? Please excuse my limited knowledge here ..

#13 Updated by Jean-Philippe Lang over 5 years ago

  • Target version deleted (0.8)

#14 Updated by Mihail M over 5 years ago

it`s work with 0.8 ?

#15 Updated by Florian L over 5 years ago

I dont test it with 0.8. I'll work on it.

@Joris Verschoor :
Just create the file calendar.ics.erb in /app/views/common with this :
<%= @cal_string %>

#16 Updated by Myles Braithwaite over 5 years ago

Could you also support issue exported as tasks?

#17 Updated by Jens Goldhammer almost 5 years ago

+1

#18 Updated by Frotran Def almost 5 years ago

+1

#19 Updated by Joan Ginard almost 5 years ago

+1

I cannot make ICS_Support__2.patch to work on 0.8.2.

Think feature is very very useful to get many peoples's calendar apps sincronized.

#20 Updated by Maxim Krušina over 4 years ago

+1000 - can someone create plugin for this?

#21 Updated by Sławek Goszcz over 4 years ago

I've created a patch for version 0.8.4. I think it will be usefull.

#22 Updated by Maxim Krušina over 4 years ago

Slavek> Great! ;) Please, is it possible to convert it to plugin? Patches and not so much fŕiendly with SVN update ...

#23 Updated by Mike Heininger over 4 years ago

Would it be possible to add "key" authentication like with the RSS feeds?

#24 Updated by Pablo 09 over 4 years ago

+1

I have tried to apply path on trunk but i havent application.rb, i have application_controller.rb How can i apply the path??

Thanks

#25 Updated by Frank Schwarz over 4 years ago

Patch adopted to current trunk

#26 Updated by Frank Schwarz over 4 years ago

There was one file missing in patch 4, so new patch 5.

#27 Updated by Nick Wilsdon over 4 years ago

We've got a problem with this, using patch 5 and v. 0.8.7 redmine. Links are appearing ok on the issues page. Clicking in FF prompts to download file. Google doesn't seem to like the URL or the file as a manual upload.

Error on manual upload:

Processed zero events
Failed to import events: unable to process your iCal/CSV file...

Looked at the file - seems ok but I don't know the format for iCal.

#28 Updated by Mischa The Evil over 4 years ago

Nick Wilsdon wrote:

We've got a problem with this, using patch 5 and v. 0.8.7 redmine. [...]

ICS_Support__5.patch is for source:/trunk only. Latest iteration of the patch for source:/branches/0.8-stable is ICS_Support__3.patch.

Please note that I haven't tested the patches myself...

#29 Updated by Fred M. about 4 years ago

Hi,

Is there any plan to update the patch files for Redmine 0.9.1 ? It does not seem a big work to edit the patch, but I've absolutely no knowledge in RoR...

Thanks in advance !

Fred.

#30 Updated by Erik-Jan Jaquet about 4 years ago

Hi all,

I am running the current stable version of Redmine (0.8.7). I have changed the 3 files according to path #3, which should be working for the stable release.

But when I reboot, nothing happens. I don't see any link to the ICS view? How do I apply this patch?

Kind regards,

Erik-Jan

#31 Updated by Fred M. about 4 years ago

Hi,

I manually applied the patch v5 to my files and it's now working. I also updated the code to export items in the form of calendar tasks, and it's working find.

I think it would be even better if it was possible to provide the task export in the issues list, at the same place than Atom/PDF/CSV links. This would be very useful since it would enable to subscribe to custom issue list instead of all issues of the project. Again, I'd be glad to do it myself, but I have actually no knowledge in ruby and even less in Redmine design...

If anybody is interested by the patch for 0.9.1, please ask I would try to provide an SVN patch...

Thanks again,
Fred.

#32 Updated by Red Mind about 4 years ago

Fred M. wrote:

If anybody is interested by the patch for 0.9.1, please ask I would try to provide an SVN patch...

Hi,
I am interested by your patch.
Thanks

#33 Updated by David Bauer about 4 years ago

Hi,

thanks for your work on that. I would also be interested in the SVN patch.

Thanks again,

David

#34 Updated by Maxim Krušina about 4 years ago

Can someone create plugin or integrade it into trunk, please? ;)

#35 Updated by Xavier Moles Lopez about 4 years ago

Sławek Goszcz wrote:

I've created a patch for version 0.8.4. I think it will be usefull.

This patch didn't worked for me (with version 0.8.4 stable). Are there any prerequisite for this patch to work? Do I need to apply first patches 1 and 2?
Thanks for the good job you're doing!

Xavier

#36 Updated by Xavier Moles Lopez about 4 years ago

This patch didn't worked for me (with version 0.8.4 stable). Are there any prerequisite for this patch to work? Do I need to apply first patches 1 and 2?
Thanks for the good job you're doing!

Xavier

I found out that Sławek's patch do actually work! The confirmation on UBC Redmine page
Although the changes are not visible, the adress of the ics calendar is available and working...

#37 Updated by Maxim Krušina about 4 years ago

Please, is it possible/simple to convert this functionality into plugin?

#38 Updated by Michael Hellein about 4 years ago

I've almost finished turning this code into a plugin. I don't have enough time to finish now, but I hope to be able to provide something relatively soon.

#39 Updated by Carl Pef about 4 years ago

Thanks for your work Michael !

Indeed, a plugin would be very nice :)

#40 Updated by y v almost 4 years ago

Hi,

I just wrote a patch which works with version 0.9 stable and does it a bit different than your approaches.

In my opinion we should focus on the roadmap and so exporting versions as events (VEVENT) and its issues as todos (VTODO). I used the VPIM gem and tested my integration with iCal on Mac OS X 10.6. With this patch you can:

  • Subscribe to a roadmap of a project or download it as static file
  • See its issues with priority and status

I added some screenshots for you (make sure that you deactivate the Remove ToDo options when subscribing to a calendar).

After uploading this stuff I'll fork the project on GitHub and apply those changes there.

#41 Updated by y v almost 4 years ago

#42 Updated by Fred M. almost 4 years ago

Hi,

Many thanks Yves for your patch, it is working very well and your approach is fine for me :)

However, you did not support sub-domains or secured protocol in your code. The workaround is quite simple : add the parameters

:only_path => false, :host => Setting.host_name

to every call of url_for and link_to methods.

Here are the updated occurences of these methods:
  • app/controllers/projects_controller.rb line 345:
    event.url           url_for(:controller => 'versions', :action => 'show', :id => version, :only_path => false, :host => Setting.host_name)
    
  • app/controllers/projects_controller.rb line 355:
    options.push Vpim::DirectoryInfo::Field.create('URL', url_for(:controller => 'issues', :action => 'show', :id => issue , :only_path => false, :host => Setting.host_name))
    
  • app/views/projects/roadmap.rhtml line 48:
    <%= link_to 'iCalendar', :controller => 'projects', :action => 'roadmap', :format => 'ics', :key => User.current.rss_key, :only_path => false, :host => Setting.host_name, :protocol => 'webcal' %><br />
    

The link using the webcal protocol is not working for me since my Redmine server is only available through HTTPS, but anyway I just have to subscribe to the ics file itself and it's working well.

Please note that the value inside Setting.host_name is the value set in the Administration section Settings. It should contain only the domain name without the trailing slash, like https://redmine.mycompany.com.

Hope this would help :)

Regards,
Fred.

#43 Updated by y v almost 4 years ago

Hi Fred,

thanks for you reply. I added your changes to the GitHub repository

I left out the changes in app/views/projects/roadmap.rhtml because there's no SSL pendant for webcal-protocol (like e.g. ldaps for ldap). As far as I know we currently would have to utilize CalDAV if we wanted to encrypt our calendar stuff over the wire…

To anyone who wants to use this changes - please refer to the GitHub repository if the patch above doesn't work for you.

#44 Updated by Daniel Schuba over 3 years ago

duplicate here #6168

#45 Updated by Kasper Nielsen over 3 years ago

Yves Vogl wrote:

Hi Fred,

thanks for you reply. I added your changes to the GitHub repository

I left out the changes in app/views/projects/roadmap.rhtml because there's no SSL pendant for webcal-protocol (like e.g. ldaps for ldap). As far as I know we currently would have to utilize CalDAV if we wanted to encrypt our calendar stuff over the wire…

To anyone who wants to use this changes - please refer to the GitHub repository if the patch above doesn't work for you.

Is someone still working on this? I get a "repository does not exist" when clicking the GitHub link.

#46 Updated by Frank Schwarz over 3 years ago

Maxim Krušina wrote:

Please, is it possible/simple to convert this functionality into plugin?

Here you are: http://code.google.com/p/redmics/

Feedback is welcome.

#47 Updated by Jan from Planio www.plan.io over 3 years ago

I created a modified version which moves the links from the sidebar to "Also available in" links at the bottom of the calendar. For me, This feels more "natural", as the Atom, CSV, PDF links are there on the issues view as well. This needs a new hook however, which I've requested in #6586. Feedback welcome.

#48 Updated by Halle Winkler over 3 years ago

Just wanted to give feedback that Frank Schwarz' plugin works very well for me, thanks Frank.

#49 Updated by Maxim Krušina over 3 years ago

Frank Schwarz wrote:

Maxim Krušina wrote:

Please, is it possible/simple to convert this functionality into plugin?

Here you are: http://code.google.com/p/redmics/

Feedback is welcome.

Hi Frank, thank you very much for your work! We finally won the battle with our selfrestarting serrver, so now we upgrade our redmine server and we start big testing! Thank you!

#50 Updated by Terence Mill over 3 years ago

The plugin is working here, but we don't like that ist defining its "own" filters statically. We would like to have an ics export of the tickets of cuurent the view (with selected filters) instead, like the csv or pdf export works.

#51 Updated by Felix Schäfer over 3 years ago

Terence Mill wrote:

The plugin is working here, but we don't like that ist defining its "own" filters statically. We would like to have an ics export of the tickets of cuurent the view (with selected filters) instead, like the csv or pdf export works.

I have a fork of the plugin in the works to provide the calendar view as an ical, and you can use custom queries on calendar (though the UI for that isn't in place just yet IIRC). I'll drop a short note once I have something to show.

#52 Updated by Frank Schwarz over 3 years ago

Terence Mill wrote:

The plugin is working here, but we don't like that ist defining its "own" filters statically. We would like to have an ics export of the tickets of cuurent the view (with selected filters) instead, like the csv or pdf export works.

I also was pondering this option. However, the filter for the csv export is stored in the web session. So you have to export and save your ICS file somewhere before you can subscribe it (offline). An online subscription with a stable filter is IMHO not possible. - I am happy to be proven wrong on this.

#53 Updated by Roger Casaliñas over 3 years ago

+1

#54 Updated by Aceman 3000 over 3 years ago

Hi, i can´t get the plugin to work. The links appear in the sidebar but when i click on them a 500 Internal Server Error occurs.
My URL reads http://web:3000/i_calendar?assigned_to=%2B&format=atom&key=8e459bfe92bdfae7b18bf3288cb1d4b0f7faeac0&project_id=print&status=all

As you can see i am runnning an own virtual host on port 3000.
Here is my apache2 config:
Listen 3000
<VirtualHost *:3000>
ServerName redmine.example.com
ServerAlias redmine
ServerAdmin webmaster@localhost
DocumentRoot /var/www/redmine/public/
<IfModule mod_fcgid.c>
DefaultInitEnv RAILS_ENV production
DefaultInitEnv GEM_HOME /var/local/lib/gems
DefaultInitEnv RUBYLIB /usr/local/ruby/lib/
</IfModule>
<Directory /var/www/redmine/public/>
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
RailsBaseURI /
ErrorLog /var/log/apache2/redmine_error.log
LogLevel info
CustomLog /var/log/apache2/redmine_access.log combined
</VirtualHost>

i ain´t got a .htacces file (the one that came with redmine) in my public directory because when i had it enabled my static files like css and javascripts weren´t found.

Can anybody tell me how to get the ICS links to work? Thank you in advance.

#55 Updated by Aceman 3000 over 3 years ago

I forgot: I followed the instructions on this page: http://code.google.com/p/redmics/

#56 Updated by Frank Schwarz over 3 years ago

Please file a bug at http://code.google.com/p/redmics/issues/list and provide me with the relevant portions of /var/log/apache2/redmine_error.log and REDMINE_HOME/log/production.log and the version number of the plug-in.

I guess it is an NPE somewhere.

Ace Man wrote:

Hi, i can´t get the plugin to work. The links appear in the sidebar but when i click on them a 500 Internal Server Error occurs.

#57 Updated by Luis Alvarez over 3 years ago

Ace Man,
Make sure you have the perquisite icalender plugin installed:
see http://code.google.com/p/redmics/

#58 Updated by Luis Alvarez over 3 years ago

Hi, Got it to work. Where is the subscription url provided? I've seen several images but I don't see any format provided.

#59 Updated by Luis Alvarez over 3 years ago

Format for subscription:
eg:
webcal://<theredmineurl>/redmine/i_calendar?assigned_to=%2A&format=atom&key=765561bf6551aawwa6351333206aad58d9f95bd114&project_id=theproject&status=all

#60 Updated by Luis Alvarez over 3 years ago

Luis Alvarez wrote:

To get the subscription link to the redmine calendar

Under ICalendar right click on the appropriate link and copy link location.
replace http:// with webcal://

eg:
webcal://theprojectsite.com/redmine/i_calendar?assigned_to=%2A&format=atom&key=765561bf6551aawwa6351333206aad58d9f95bd114&project_id=theproject&status=all

#61 Updated by Andy Mahieu over 3 years ago

In Outlook 2010, the ICalendar works.

But in Outlook 2003, it doesn't. Outlook 2003 expects to see "METHOD:PUBLISH" in the beginning of the file.

#62 Updated by Fred M. about 3 years ago

Frank Schwarz wrote:

Maxim Krušina wrote:

Please, is it possible/simple to convert this functionality into plugin?

Here you are: http://code.google.com/p/redmics/

Feedback is welcome.

Hi Franck, thank you very much for your great work on this plugin. It is working fine for me. It could be worth to mention in your documentation that you need to enable the "Calendar" module in the project's configuration (it is not that obvious when you only use the issues and expect to see the iCalendar links).

Again, due to my HTTPS server configuration, I have to use the https:// URL instead of replacing it with webcal://

I'm a little bit disappointed because I'm not using start/end dates inside Redmine. So as it is today, I can't get much benefit from this plug-in since the calendar is always empty...

I'll post a feature request in Google code to include the Tasks export in your ICS file, that would be a great feature making your plugin a perfect companion for redmine :)

Thanks again,
Fred.

#63 Updated by Jean-Philippe Lang over 1 year ago

  • Status changed from 7 to New

Assigned issue with no assignee back to New status.

#64 Updated by Frank Schwarz about 1 year ago

For the record: the redmics plugin is now hosted on GitHub: https://github.com/buschmais/redmics. Happy forking!

Also available in: Atom PDF