How to disable Show Changed Content to all users

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

Some properties like Show Changed Content are enabled by default to all Confluence users. Currently, there's no feature in Confluence to disable it to all users.

Therefore, if a user is watching a page (or the Space in which the page resides), then changes on that page will be sent as an email to the user.

Sometimes, this can cause an overload to Confluence or to the email infrastructure. Then, disabling it to all users might be necessary.

This page describes a way to change this configuration to all existing users in Confluence. If you plan to use this workaround, you may want to run it periodically, since new users may be joining Confluence.


This guide is for informational purposes and is not eligible for support as part of the Atlassian Support Offerings.  If you have any questions about the information on this page, please reach out to our Atlassian Community for help.



Workaround

(warning) It is strongly recommended that you perform a backup of you database before making any changes!!

  1. First check how many entries you have for the confluence.prefs.email.show.diff.

    select *
    from OS_PROPERTYENTRY
    where entity_name IN (select 'USERPROPS-' || um.user_key from user_mapping um)
    and entity_key='confluence.prefs.email.show.diff'
    ;
    select *
    from OS_PROPERTYENTRY
    where entity_name IN (select CONCAT('USERPROPS-', um.user_key) from user_mapping um)
    and entity_key='confluence.prefs.email.show.diff'
    ;

    Note: Unless users have explicitly toggled this feature for themselves (Profile → Settings → Email → Show changed content), the database won't have an entry for 'confluence.prefs.email.show.diff', and the default in this scenario is on/true.  So, performing a count of the number of instances in the database is not an accurate representation of how many users have the feature set to on.


  2. Change all existing entries to false, and insert entries for users that don't have it explicitly set yet:

    INSERT INTO OS_PROPERTYENTRY (entity_name, entity_id, entity_key, key_type, boolean_val, double_val, long_val, int_val)
    SELECT 'USERPROPS-' || um.user_key, 0, 'confluence.prefs.email.show.diff', 1, false, 0, 0, 0 from user_mapping um
    ON CONFLICT (entity_name, entity_id, entity_key)
    DO UPDATE SET boolean_val = false;
    INSERT INTO OS_PROPERTYENTRY (entity_name, entity_id, entity_key, key_type, boolean_val, double_val, text_val, long_val, int_val)
    SELECT CONCAT('USERPROPS-', um.user_key), 0, 'confluence.prefs.email.show.diff', 1, false, 0.0, '', 0, 0  from user_mapping um
    ON DUPLICATE KEY UPDATE boolean_val = false, double_val=0.0, text_val='', long_val=0, int_val=0;


  3. Restart Confluence.


Feature Request

CONFSERVER-43671 - Getting issue details... STATUS


Last modified on Nov 25, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.