twomice / com.joineryhq.activityical

CiviCRM extension: Provides an iCalendar feed of assigned activities per contact
Other
2 stars 14 forks source link

CiviCRM Activity iCalendar Feed

Overview

Several people have expressed interest in getting their CiviCRM assigned activities into their Google Calendar or similar calendaring applications. This extension fills that purpose by providing a feed of each user's assigned activities in iCalendar format, ready to be subscribed to with Google Calendar and/or Outlook.

Key Features

Further reading

You can also view this extension in the CiviCRM Extensions Directory.

Installation

Configuration

Once installed, the configuration page is available by navigating to Administer > System Settings > Activity iCalendar Feed.

Notable configuration options include these:

Feed URL for Each Contact

Note: Not all contacts will have a feed. See Installation and Configuration: Activity iCalendar Feed Group, above.

For each contact having a feed, a unique URL is defined to access their feed. This URL includes a random hash as a barrier against unauthorized persons guessing the URL and accessing the user's feed.

Other than validating the random hash, the URL makes no checks for authentication before presenting the activity feed for the requested user. A user may regenerate a new URL with a new random hash if she feels her feed URL has become known by people who should not have it.

Feed Details page

For each contact, a summary of feed information is displayed on the contact's Feed Details page. This page includes the feed URL, some explanatory help text, and a button to regenerate the feed URL with a new random hash.

The Feed Details page is accessible as follows:

For the current user's contact:

With the right configuration, a link to information about the current user's feed is displayed at the top of the CiviCRM Contact Dashboard. To enable this display, navigate to Administer > Customize Data and Screens > Display Preferences, find the section labeled "Contact Dashboard", and ensure that the option "Assigned Activities" is enabled.

With this done, a user who clicks on "My Contact Dashboard" when logged into CiviCRM will see, at the top of the Contact Dashboard, a message stating, "Assigned activities are accessible as an iCalendar feed," and a link labeled "Feed details..." pointing to the contact's Feed Details page -- assuming the contact has a feed.

For any other contact:

Users with the "administer CiviCRM" permission can access the Feed Details page for any contact having a feed. This is most easily accessed under the "Activities" tab of the contact record. At the top of this page is a label, "iCalendar", followed by two links: "Feed", which is a direct link to the feed URL; and "Details", which is a link to the Feed Details page for this contact.

FAQs

  1. Why am I getting the error, "The given contact does not have an activities iCalendar feed." for some contacts? Not all contacts will have a feed. See Installation and Configuration: Activity iCalendar Feed Group, above.
  2. Why isn't my feed updating in Google Calendar? In Google Calendar, the expected behavior is that linked iCalendar feeds may not be refreshed for several hours. The Google Calendar documentation at https://support.google.com/calendar/answer/37100?hl=en&ref_topic=1672445 says, "It might take up to 12 hours for changes to show in your Google Calendar." Unfortunately, even though the extension is doing its job and always providing a feed with the latest information, it's up to the feed consumer (in this case, Google Calendar) to decide what they want to do with that information and how often they want to refresh it. You can verify that the feed is working properly by acccessing the feed URL directly in your browser.

Support

screenshot

Joinery provides services for CiviCRM including custom extension development, training, data migrations, and more. We aim to keep this extension in good working order, and will do our best to respond appropriately to issues reported on its github issue queue. In addition, if you require urgent or highly customized improvements to this extension, we may suggest conducting a fee-based project under our standard commercial terms. In any case, the place to start is the github issue queue -- let us hear what you need and we'll be glad to help however we can.

And, if you need help with any other aspect of CiviCRM -- from hosting to custom development to strategic consultation and more -- please contact us directly via https://joineryhq.com