Users can subscribe to a group calendar two separate ways:
To download a group calendar, navigate to a group's calendar tab. If you scroll down, under the calendar of events you should see a box titled "Subscribe", which looks like the image below
Here you can pick which of the group calendar's you want to download. After you have made your choices simply click the Download button. A iCalendar file (.ics) will be downloaded by your browser, which you can then import into any calendar application with iCalendar support.
Here is a list of applications with support for iCalendar files (.ics) →
Subscribing to a group calendar has 1 major benefit over downloading a group calendar; changes made to the group events on the HUB are reflected in the subscribers calendar.
To subscribe to group calendar follow the same steps described above to download a calendar but instead click the Subscribe button. This will open the default calendar application on your calendar with a dialog box asking if you would like to subscribe to this calendar. If the groups calendar access setting is restricted to Registered HUB Users or Group Members, you will also be prompted for you HUB login and password.
Currently Google Calendar doesn't support private or authenticated calendar subscriptions, which is good for the security of your data, but bad if you like having all you calendars in one place. Only if a group's calendar access setting is set to Any HUB Visitor will users be able to subscribe with their Google Calendar. This setting can be changed at anytime by any group manager, in the group customize interface.
An alternative for Google Calendar users is that they download and import a group calendar following the steps described above.
REDIRECT_SCRIPT_URL
=>
/help/groups/calendar/subscriptions
, REDIRECT_SCRIPT_URI
=>
https://itmig.curie.fr/help/groups/calendar/subscriptions
, REDIRECT_HTTPS
=>
on
, REDIRECT_SSL_TLS_SNI
=>
itmig.curie.fr
, REDIRECT_STATUS
=>
200
, SCRIPT_URL
=>
/help/groups/calendar/subscriptions
, SCRIPT_URI
=>
https://itmig.curie.fr/help/groups/calendar/subscriptions
, HTTPS
=>
on
, SSL_TLS_SNI
=>
itmig.curie.fr
, HTTP_ACCEPT
=>
*/*
, HTTP_USER_AGENT
=>
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
, HTTP_COOKIE
=>
d482552ea4a74f85af0bb3d73890dabc=+5+E+45E43105E+E+2444543+7406F5D+11B+37E+B4A+3+05F41134B514059+4+951135F765817+3+B5C1243+B5612+F16+3+B+2+A1B5F5B+1+7505D+C57+151+6+0+5+1+C+556+0+E+7+3+0+3+5+0565C+B5C+8+9+A1B+3165952+2164044+C+016+A17+25056+31A+05354+6+455+C+0+F+C52+4+D5C+C+3515F+E55+1+7+453+4535D+A+75C+0+B44+B4358+6+A16164A515412+24A+256515C1A525153+15251+9+1+E57+6+D+C+3+45650+B+65556+959+7+05B+0+A+15B5F+B16+94A; 81f30cf708470b974874c8a96a6bcdb2=fcdd6e8e64b44e4f296a30a70b92d893
, HTTP_ACCEPT_ENCODING
=>
gzip, br, zstd, deflate
, HTTP_HOST
=>
itmig.curie.fr
, PATH
=>
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
, SERVER_SIGNATURE
=>
, SERVER_SOFTWARE
=>
Apache/2.4.10 (Debian)
, SERVER_NAME
=>
itmig.curie.fr
, SERVER_ADDR
=>
192.168.25.26
, SERVER_PORT
=>
443
, REMOTE_ADDR
=>
3.133.133.117
, DOCUMENT_ROOT
=>
/var/www/itmig
, REQUEST_SCHEME
=>
https
, CONTEXT_PREFIX
=>
, CONTEXT_DOCUMENT_ROOT
=>
/var/www/itmig
, SERVER_ADMIN
=>
[no address given]
, SCRIPT_FILENAME
=>
/var/www/itmig/index.php
, REMOTE_PORT
=>
10929
, REDIRECT_URL
=>
/help/groups/calendar/subscriptions
, GATEWAY_INTERFACE
=>
CGI/1.1
, SERVER_PROTOCOL
=>
HTTP/1.1
, REQUEST_METHOD
=>
GET
, QUERY_STRING
=>
, REQUEST_URI
=>
/help/groups/calendar/subscriptions
, SCRIPT_NAME
=>
/index.php
, PHP_SELF
=>
/index.php
, REQUEST_TIME_FLOAT
=>
1719611035.393
, REQUEST_TIME
=>
1719611035
separator ⇒ .
orderBy ⇒ id
orderDir ⇒ asc
1 ⇒ registerIP
2 ⇒ access
always ⇒
renew ⇒
tracker.sid ⇒ fcdd6e8e64b44e4f296a30a70b92d893
tracker.ssid ⇒ fcdd6e8e64b44e4f296a30a70b92d893
tracker.rsid ⇒ fcdd6e8e64b44e4f296a30a70b92d893
session.token ⇒ 1300719601c220aa6e75b3e8b86c373b
site 0.011 seconds (+0.011); 3.50 MB (+3.500) - afterInitialise
site 0.019 seconds (+0.008); 4.25 MB (+0.750) - afterRoute
site 0.022 seconds (+0.003); 4.50 MB (+0.250) - afterDispatch
site 0.024 seconds (+0.002); 4.50 MB (0.000) - onAfterRender
site 0.025 seconds (+0.002); 4.50 MB (0.000) - sessionStore
SELECT data
FROM `jos_session`
WHERE `session_id` = 'fcdd6e8e64b44e4f296a30a70b92d893'
SELECT extension_id AS id,element AS "option",params,enabled
FROM `jos_extensions`
WHERE `type` = 'component'
AND `element` = 'com_languages'
SELECT extension_id AS id,element AS "option",params,enabled
FROM `jos_extensions`
WHERE `type` = 'component'
AND `element` = 'com_members'
SELECT b.id
FROM `jos_usergroups` AS `a`
LEFT JOIN jos_usergroups AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE `a`.`id` = '1'
SELECT *
FROM `jos_viewlevels`
SELECT folder AS type,element AS name,protected,params
FROM `jos_extensions`
WHERE `enabled` >= '1'
AND `type` = 'plugin'
AND `state` >= '0'
AND `access` IN ('1','1','4')
ORDER BY `ordering` ASC
SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,m.link,m.type,m.level,m.language,m.browserNav,m.access,m.params,m.home,m.img,m.template_style_id,m.component_id,m.parent_id,e.element AS component
FROM `jos_menu` AS `m`
LEFT JOIN jos_extensions AS e
ON e.extension_id = m.component_id
WHERE `m`.`published` = '1'
AND `m`.`parent_id` > '0'
AND `m`.`client_id` = '0'
ORDER BY `m`.`lft` ASC
SELECT con.`id`
FROM `jos_content` AS con
LEFT JOIN `jos_categories` AS cat
ON con.catid = cat.id
WHERE con.state=1
AND con.`alias` = 'subscriptions'
AND cat.`path` = 'help/groups/calendar'
SELECT extension_id AS id,element AS "option",params,enabled
FROM `jos_extensions`
WHERE `type` = 'component'
AND `element` = 'com_help'
SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
FROM `jos_template_styles`
INNER JOIN jos_extensions
ON jos_extensions.element = jos_template_styles.template
WHERE `jos_template_styles`.`client_id` = '0'
AND `jos_extensions`.`enabled` = '1'
AND `jos_extensions`.`type` = 'template'
AND jos_extensions.`client_id` = `jos_template_styles`.`client_id`
ORDER BY `home` DESC
SELECT extension_id AS id,element AS "option",params,enabled
FROM `jos_extensions`
WHERE `type` = 'component'
AND `element` = 'com_groups'
UPDATE `jos_session`
SET `data` = '__default|a:10:{s:15:\"session.counter\";i:4;s:19:\"session.timer.start\";i:1719611032;s:18:\"session.timer.last\";i:1719611034;s:17:\"session.timer.now\";i:1719611035;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":3:{s:1:\"0\";s:7:\"session\";s:10:\"Components\";O:8:\"stdClass\":1:{s:9:\"Resources\";O:8:\"stdClass\":1:{s:6:\"Models\";O:8:\"stdClass\":1:{s:4:\"Type\";O:8:\"stdClass\":2:{s:7:\"orderby\";s:4:\"type\";s:8:\"orderdir\";s:3:\"asc\";}}}}s:5:\"Entry\";O:8:\"stdClass\":2:{s:5:\"start\";d:0;s:5:\"
limit\";i:20;}}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"fcdd6e8e64b44e4f296a30a70b92d893\";s:12:\"tracker.ssid\";s:32:\"fcdd6e8e64b44e4f296a30a70b92d893\";s:12:\"tracker.rsid\";s:32:\"fcdd6e8e64b44e4f296a30a70b92d893\";s:13:\"session.token\";s:32:\"1300719601c220aa6e75b3e8b86c373b\";}',`time` = '1719611035',`ip` = '3.133.133.117'
WHERE `session_id` = 'fcdd6e8e64b44e4f296a30a70b92d893'
onAfterInitialise — Method — plgSystemP3p::onAfterInitialise → /core/plugins/system/p3p/p3p.php:45
onAfterInitialise — Method — plgSystemRemember::onAfterInitialise → /core/plugins/system/remember/remember.php:44
onAfterInitialise — Method — plgSystemHubzero::onAfterInitialise → /core/plugins/system/hubzero/hubzero.php:46
onAfterInitialise — Method — plgSystemXFeed::onAfterInitialise → /core/plugins/system/xfeed/xfeed.php:46
onAfterInitialise — Method — plgSystemSupergroup::onAfterInitialise → /core/plugins/system/supergroup/supergroup.php:138
onAfterInitialise — Method — plgSystemReferrerpolicy::onAfterInitialise → /core/plugins/system/referrerpolicy/referrerpolicy.php:21
onAfterRoute — Method — plgSystemJquery::onAfterRoute → /core/plugins/system/jquery/jquery.php:46
onAfterRoute — Method — plgSystemSpamjail::onAfterRoute → /core/plugins/system/spamjail/spamjail.php:46
onAfterRoute — Method — plgSystemIncomplete::onAfterRoute → /core/plugins/system/incomplete/incomplete.php:46
onAfterRoute — Method — plgSystemUnconfirmed::onAfterRoute → /core/plugins/system/unconfirmed/unconfirmed.php:46
onAfterRoute — Method — plgSystemUnapproved::onAfterRoute → /core/plugins/system/unapproved/unapproved.php:46
onAfterRoute — Method — plgSystemPassword::onAfterRoute → /core/plugins/system/password/password.php:46
onAfterDispatch — Method — plgSystemMobile::onAfterDispatch → /core/plugins/system/mobile/mobile.php:47
onAfterDispatch — Method — plgSystemDebug::onAfterDispatch → /core/plugins/system/debug/debug.php:85
onAfterDispatch — Method — PlgSystemHighlight::onAfterDispatch → /core/plugins/system/highlight/highlight.php:49
onAfterRender — Method — plgSystemSef::onAfterRender → /core/plugins/system/sef/sef.php:45