• 3
    • 0
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      1. Let the admin define which calendars new users are automatically subscribed to
      2. Subscribe selected users (or all users from selected groups) to selected calendars
      3. Bonus points for: define default (or mandatory) calendars for groups, one collection per group

      This is very similar to the Confluence "Manage watchers" feature

            [CONFSERVER-51223] Ability to force subscribe users to calendars

            Adam Panes added a comment -

            +52145

            Adam Panes added a comment - +52145

            No progress after 8 years? Sheesh! This seems like a trivial thing to implement, too!

            If you want to know our usecase: we have an external tool to track leave/absences. The tool publishes the team's absences over HTTP in ICS format. Everyone can subscribe to it, but it's a pain in the arse. It would be much more useful if we could automatically add this to the team's calendar, so it's managed in one place, instead of in everyone's calendar view.

            Bram Van Dam added a comment - No progress after 8 years? Sheesh! This seems like a trivial thing to implement, too! If you want to know our usecase: we have an external tool to track leave/absences. The tool publishes the team's absences over HTTP in ICS format. Everyone can subscribe to it, but it's a pain in the arse. It would be much more useful if we could automatically add this to the team's calendar, so it's managed in one place, instead of in everyone's calendar view.

            Team Calendars finally killed Confluence. It took a few years, but the serious performance issues caused by Team Calendars spearheaded the removal of Confluence.
            Given that part of the problem was to do with the default views and searches on the dashboard being able to force users to subscribe to a calendar would have been very useful to try to negate the problems caused by the Team Calendars software.
            Too late now.

            OutOfTheBox added a comment - Team Calendars finally killed Confluence. It took a few years, but the serious performance issues caused by Team Calendars spearheaded the removal of Confluence. Given that part of the problem was to do with the default views and searches on the dashboard being able to force users to subscribe to a calendar would have been very useful to try to negate the problems caused by the Team Calendars software. Too late now.

            Dorothy, use this add on to solve your problem:
            https://marketplace.atlassian.com/plugins/com.elitesoftsp.confluence.calendar.insights.plugins/server/overview
            You can read their release note to know how to use
            Release note

            Peter Dennis added a comment - Dorothy, use this add on to solve your problem: https://marketplace.atlassian.com/plugins/com.elitesoftsp.confluence.calendar.insights.plugins/server/overview You can read their release note to know how to use Release note

            Any progress on this ? or is there any add-on can do this?

            Dorothy Gale added a comment - Any progress on this ? or is there any add-on can do this?

            This is such an awesome idea. gc_atlassian OutOfTheBox indeed!

            Kevin Chen added a comment - This is such an awesome idea. gc_atlassian OutOfTheBox indeed!

            I fixed this with some HTML and JavaScript. Put it on a wiki page or in a macro and when a user visits the page they are subscribed to the calendar. Bonus: wrap it in SQL to detect if a user has already subscribed to the calendar or not.

            The logic is:
            1) Run a SQL to determine if the user is subscribed to the chosen calendar
            Throw a message if the SQL returns no result.
            2) Run JavaScript on the page to detect the failure message from the SQL
            3) If the failure message is detected then activate the calendar subscribe script to force the user to subscribe to the calendar

            The other way is to do all of this in SQL using a where clause to add the calendar if they are not subscribed, noting that hitting the DB directly should be avoided and not everyone has Bob's excellent SQL macro.

            As a V3 macro this looks like this:

            ## Macro title:      auto-cal-subscribe
            ## Macro has a body: N
            ## Body processing:  N/A
            ## Output:           Text message if no calendar subscriptions are detected which is used to auto subscribe the user to a calendar
            ##
            ## Developed by:     OutOfTheBox
            
            
            ## @noparams
            
            ## 1. Detect the user's logon id
            ## 2. Determine if the user has any Calendars by reading OS_PROPERTYENTRY
            ## 3. If no calendar subscriptions are found then run the auto-calendar-subscribe macro
            
            ## Hide the error box if the page does not have confluence-admin edit rights so users can't see the SQL
            {style}div.error { display: none !important; }{style}
            
            
            ## Retrieve userid
            #set( $username = "$req.getRemoteUser()" )
            
            ## Read database to determine if this user currently has a calendar subscribed
            {show-to:group=confluence-users}
            {sql-query:dataSource=wiki|autoNumber=true|table=false|output=wiki|noDataMessage=NoCalendarDetected}
            select  case ENTITY_ID
                               when 0 then ''
                               else 'No calendars detected'
                        end as STATUS
              from OS_PROPERTYENTRY 
             where 
                   entity_name = 'CWD_$username'
               and entity_key  = 'calendar'
               and text_val like '%subCalendar%'
            {sql-query}
            {show-to}
            
            ## This is the form which is used to subscribe to a calendar
            {html}
            <!-- Create the form for subscribing to the test calendar -->
            <form name="autosubscribetocalendar" id="autosubscribetocalendar" class="hidden" method="POST" action="http://confluence.internal/wiki/calendar/subscribetocalendar.action">
                  #form_xsrfToken() <!-- Generate atl_token input field -->
                  <input type="hidden" name="subCalendarId" value="e1310ae6-e9db-45ff-8316-5da18c514f8f">    <!-- Calendar to subscribe this user to -->    
                  <input type="submit" value="Subscribe" >
            </form>
            {html}
            
            ## This is the javascript which triggers the form
            ## If the result of the first SQL outputs the text 'NoCalendarDetected' then this script will trigger 
            {html}
            <script type="text/javascript"> 
               AJS.$(document).ready(function() {    
            
                   if ( AJS.$('p:contains("NoCalendarDetected")').length > 1 ) { 
                      AJS.$("#autosubscribetocalendar").submit();    // Submit the form to auto subscribe the user to the test Calendar
                   }
                   AJS.$('p:contains("NoCalendarDetected")').hide(); // The user does not need to see this value on the page
                   AJS.$('div.error').remove();                      // Prevent users from seeing the SQL error if missing permissions to run sql-query
               });   
            </script> 
            {html}
            

            Change the SQL to detect the calendar to automatically subscribe a user to. Put the macro on a wiki page.
            Alternatively, convert this to HTML and put it in your Custom HTML at the end of the body.
            Or, publish a link to the calendar in a public place e.g. _http://confluence.internal/wiki/calendar/previewcalendar.action?subCalendarId=e1310ae6-e9db-45ff-8316-5da18c514f8f_ so people can find it.

            OutOfTheBox added a comment - I fixed this with some HTML and JavaScript. Put it on a wiki page or in a macro and when a user visits the page they are subscribed to the calendar. Bonus: wrap it in SQL to detect if a user has already subscribed to the calendar or not. The logic is: 1) Run a SQL to determine if the user is subscribed to the chosen calendar Throw a message if the SQL returns no result. 2) Run JavaScript on the page to detect the failure message from the SQL 3) If the failure message is detected then activate the calendar subscribe script to force the user to subscribe to the calendar The other way is to do all of this in SQL using a where clause to add the calendar if they are not subscribed, noting that hitting the DB directly should be avoided and not everyone has Bob's excellent SQL macro. As a V3 macro this looks like this: ## Macro title: auto-cal-subscribe ## Macro has a body: N ## Body processing: N/A ## Output: Text message if no calendar subscriptions are detected which is used to auto subscribe the user to a calendar ## ## Developed by: OutOfTheBox ## @noparams ## 1. Detect the user's logon id ## 2. Determine if the user has any Calendars by reading OS_PROPERTYENTRY ## 3. If no calendar subscriptions are found then run the auto-calendar-subscribe macro ## Hide the error box if the page does not have confluence-admin edit rights so users can't see the SQL {style}div.error { display: none !important; }{style} ## Retrieve userid #set( $username = "$req.getRemoteUser()" ) ## Read database to determine if this user currently has a calendar subscribed {show-to:group=confluence-users} {sql-query:dataSource=wiki|autoNumber= true |table= false |output=wiki|noDataMessage=NoCalendarDetected} select case ENTITY_ID when 0 then '' else 'No calendars detected' end as STATUS from OS_PROPERTYENTRY where entity_name = 'CWD_$username' and entity_key = 'calendar' and text_val like '%subCalendar%' {sql-query} {show-to} ## This is the form which is used to subscribe to a calendar {html} <!-- Create the form for subscribing to the test calendar --> <form name= "autosubscribetocalendar" id= "autosubscribetocalendar" class= "hidden" method= "POST" action= "http: //confluence.internal/wiki/calendar/subscribetocalendar.action" > #form_xsrfToken() <!-- Generate atl_token input field --> <input type= "hidden" name= "subCalendarId" value= "e1310ae6-e9db-45ff-8316-5da18c514f8f" > <!-- Calendar to subscribe this user to --> <input type= "submit" value= "Subscribe" > </form> {html} ## This is the javascript which triggers the form ## If the result of the first SQL outputs the text 'NoCalendarDetected' then this script will trigger {html} <script type= "text/javascript" > AJS.$(document).ready(function() { if ( AJS.$( 'p:contains( "NoCalendarDetected" )' ).length > 1 ) { AJS.$( "#autosubscribetocalendar" ).submit(); // Submit the form to auto subscribe the user to the test Calendar } AJS.$( 'p:contains( "NoCalendarDetected" )' ).hide(); // The user does not need to see this value on the page AJS.$( 'div.error' ).remove(); // Prevent users from seeing the SQL error if missing permissions to run sql-query }); </script> {html} Change the SQL to detect the calendar to automatically subscribe a user to. Put the macro on a wiki page. Alternatively, convert this to HTML and put it in your Custom HTML at the end of the body. Or, publish a link to the calendar in a public place e.g. _ http://confluence.internal/wiki/calendar/previewcalendar.action?subCalendarId=e1310ae6-e9db-45ff-8316-5da18c514f8f_ so people can find it.

            Atlassian!!!!!!! You sell it in your promotion video as tool that will help to track all days off etc BUT how is it possible to keep it on track if there's not option to share a calendar for everyone? There's no even obvious way to subscribe to it, you must know a name of calendar to be able to find it?? WTF?????

            I love your products, but there's so much stupid decisions in it. You're a fucking stupid corporation!

            Anton Iskandiarov added a comment - Atlassian!!!!!!! You sell it in your promotion video as tool that will help to track all days off etc BUT how is it possible to keep it on track if there's not option to share a calendar for everyone? There's no even obvious way to subscribe to it, you must know a name of calendar to be able to find it?? WTF????? I love your products, but there's so much stupid decisions in it. You're a fucking stupid corporation!

            That is unfortunate that Atlassian is not considering this on any type of roadmap. This is one of the key tiems to get users to utilize the calendar and also not provide an excuse of "they didn't know". There are some calendars that you want all or a specific subset of users to subscribe to so as to not be able to plead ignorance of not knowing. And, because of the performance issues that continue, every few quarters, we have to delete a calendar that becomes difficult to work with (slowness) and create a new one that we want to have the same subscribers to. Those that get emailed to resubscribe to a new calendar are annoyed.

            Those are a few of our critical use cases.

            Karie Kelly added a comment - That is unfortunate that Atlassian is not considering this on any type of roadmap. This is one of the key tiems to get users to utilize the calendar and also not provide an excuse of "they didn't know". There are some calendars that you want all or a specific subset of users to subscribe to so as to not be able to plead ignorance of not knowing. And, because of the performance issues that continue, every few quarters, we have to delete a calendar that becomes difficult to work with (slowness) and create a new one that we want to have the same subscribers to. Those that get emailed to resubscribe to a new calendar are annoyed. Those are a few of our critical use cases.

            Rick Beemterboer added a comment - - edited

            When speaking in general terms of companies where *mostly non-techies are using the software, these users are mostly dumb in terms of how to use an application.. and thus cannot -or don't have the brains to find or search other company resources which might be important for them.

            This happens far to much unfortunately and so this option is very important for many companies.

            In MS Exchange in combination with Outlook, a sys admin has the possablity to add a mailbox and therefore calendar automatically remotely

            Rick Beemterboer added a comment - - edited When speaking in general terms of companies where *mostly non-techies are using the software, these users are mostly dumb in terms of how to use an application.. and thus cannot -or don't have the brains to find or search other company resources which might be important for them. This happens far to much unfortunately and so this option is very important for many companies. In MS Exchange in combination with Outlook, a sys admin has the possablity to add a mailbox and therefore calendar automatically remotely

              Unassigned Unassigned
              bbf762edcc79 Igor Sereda [ALM Works]
              Votes:
              114 Vote for this issue
              Watchers:
              75 Start watching this issue

                Created:
                Updated: