diff options
-rw-r--r-- | README.markdown | 1 | ||||
-rw-r--r-- | app/Locale/da_DK/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/de_DE/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/es_ES/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/fi_FI/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/fr_FR/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/hu_HU/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/it_IT/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/ja_JP/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/nl_NL/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/pl_PL/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/pt_BR/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/ru_RU/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/sr_Latn_RS/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/sv_SE/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/th_TH/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/tr_TR/translations.php | 2 | ||||
-rw-r--r-- | app/Locale/zh_CN/translations.php | 2 | ||||
-rw-r--r-- | app/Template/project/share.php | 2 | ||||
-rw-r--r-- | app/Template/user/share.php | 2 | ||||
-rw-r--r-- | docs/ical.markdown | 49 | ||||
-rw-r--r-- | docs/sharing-projects.markdown | 10 |
22 files changed, 76 insertions, 22 deletions
diff --git a/README.markdown b/README.markdown index 7f9ff1dd..2a477c4c 100644 --- a/README.markdown +++ b/README.markdown @@ -117,6 +117,7 @@ Documentation - [Sendgrid](docs/sendgrid.markdown) - [Slack](docs/slack.markdown) - [Postmark](docs/postmark.markdown) +- [iCalendar subscriptions](docs/ical.markdown) #### More diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index 4ce2a2d7..1a080b4a 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index a3753985..3dff0aab 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 04af53db..e778d5a8 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index c89428ce..d41cd82f 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 9ad6acff..3621413a 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -919,7 +919,7 @@ return array( 'Subtasks time tracking' => 'Suivi du temps par rapport aux sous-tâches', 'User calendar view' => 'Vue en mode utilisateur du calendrier', 'Automatically update the start date' => 'Mettre à jour automatiquement la date de début', - 'iCalendar (iCal format, *.ics)' => 'iCalendar (format iCal, *.ics)', + 'iCal feed' => 'Abonnement iCal', 'Preferences' => 'Préférences', 'Security' => 'Sécurité', 'Two factor authentication disabled' => 'Authentification à deux facteurs désactivé', diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index a8291057..468b6a01 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index dbef74ef..2bbd8ba7 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index 50ec0cc3..1cc3818a 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index 58add350..c4c262e1 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index 698bc94c..f1dade8f 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index c187c6b3..e8414330 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 167b57df..d5df5e44 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index 761c98fc..cf125c54 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index 8c38a7eb..e2c46c9e 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index de8c05a3..68b32c42 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 54e89a56..1368c358 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index fac5fcc7..7d492635 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -917,7 +917,7 @@ return array( // 'Subtasks time tracking' => '', // 'User calendar view' => '', // 'Automatically update the start date' => '', - // 'iCalendar (iCal format, *.ics)' => '', + // 'iCal feed' => '', // 'Preferences' => '', // 'Security' => '', // 'Two factor authentication disabled' => '', diff --git a/app/Template/project/share.php b/app/Template/project/share.php index f28ed6b2..07f29fdc 100644 --- a/app/Template/project/share.php +++ b/app/Template/project/share.php @@ -8,7 +8,7 @@ <ul class="no-bullet"> <li><strong><i class="fa fa-share-alt"></i> <?= $this->a(t('Public link'), 'board', 'readonly', array('token' => $project['token']), false, '', '', true) ?></strong></li> <li><strong><i class="fa fa-rss-square"></i> <?= $this->a(t('RSS feed'), 'project', 'feed', array('token' => $project['token']), false, '', '', true) ?></strong></li> - <li><strong><i class="fa fa-calendar"></i> <?= $this->a(t('iCalendar (iCal format, *.ics)'), 'ical', 'project', array('token' => $project['token']), false, '', '', true) ?></strong></li> + <li><strong><i class="fa fa-calendar"></i> <?= $this->a(t('iCal feed'), 'ical', 'project', array('token' => $project['token']), false, '', '', true) ?></strong></li> </ul> </div> diff --git a/app/Template/user/share.php b/app/Template/user/share.php index 98010d4f..55d06897 100644 --- a/app/Template/user/share.php +++ b/app/Template/user/share.php @@ -6,7 +6,7 @@ <div class="listing"> <ul class="no-bullet"> - <li><strong><i class="fa fa-calendar"></i> <?= $this->a(t('iCalendar (iCal format, *.ics)'), 'ical', 'user', array('token' => $user['token']), false, '', '', true) ?></strong></li> + <li><strong><i class="fa fa-calendar"></i> <?= $this->a(t('iCal feed'), 'ical', 'user', array('token' => $user['token']), false, '', '', true) ?></strong></li> </ul> </div> diff --git a/docs/ical.markdown b/docs/ical.markdown new file mode 100644 index 00000000..cba2e020 --- /dev/null +++ b/docs/ical.markdown @@ -0,0 +1,49 @@ +Syncing your calendars +====================== + +Kanboard supports iCal feeds for projects and users. +This feature allow you to import Kanboard tasks in almost any calendar program (by example Microsoft Outlook, Apple Calendar and Google Calendar). + +Calendar subscriptions are **read-only** access, you cannot create tasks from an external calendar software. +The Calendar feed export follow the iCal standard. + +Project calendars +----------------- + +- Each project have its own calendar. +- The subscription link is unique per project, the link is activated when you enable the public access of your project: **Project settings > Public access**. +- This calendar show only tasks for the selected project. + +User calendars +-------------- + +- Each user have its own calendar. +- The subscription link is unique per user, the link is activated when you enable the public access of your user: **User profile > Public access**. +- This calendar show tasks assigned to the user for all projects. + +Adding your Kanboard calendar to Apple Calendar +----------------------------------------------- + +- Open Calendar +- Select **File > New Calendar Subscription** +- Copy and paste the iCal feed url from Kanboard + +![Add iCal subscription](http://kanboard.net/screenshots/documentation/apple-calendar-add-subscription.png) + +- You can choose to synchronize the calendar with iCloud to be available across all your devices +- Don't forget to select the refresh frequency + +![Edit iCal subscription](http://kanboard.net/screenshots/documentation/apple-calendar-edit-subscription.png) + +Adding your Kanboard calendar to Google Calendar +------------------------------------------------ + +- Click the down-arrow next to **Other calendars**. +- Select **Add by URL** from the menu. +- Copy and paste the iCal feed url from Kanboard + +![Google Calendar](http://kanboard.net/screenshots/documentation/google-calendar-add-subscription.png) + +Your Kanboard calendar can also be available from your Android device if you enable the synchronization. + +Note: According to the Google Support, external calendars are not refreshed very often, [read the documentation](https://support.google.com/calendar/answer/37100?hl=en&ref_topic=1672445). diff --git a/docs/sharing-projects.markdown b/docs/sharing-projects.markdown index 8671bfd5..3e72071b 100644 --- a/docs/sharing-projects.markdown +++ b/docs/sharing-projects.markdown @@ -21,11 +21,15 @@ Select your project, then click on "Public access" and finally click on the butt ![Enable public access](http://kanboard.net/screenshots/documentation/project-enable-sharing.png) -After that, you got the public link and the RSS feed. -The activity feed is available only when the public access is activated. +When the public access is enabled, a couple of links are generated: + +- Public board view +- RSS feed subscription link +- iCalendar subscription link ![Disable public access](http://kanboard.net/screenshots/documentation/project-disable-sharing.png) You can also disable the public access whenever you want. + Each time, you enable or disable the public access a new random token is generated. -The old link will not work anymore. +The previous links will not work anymore. |