Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-57857

Provide the functionality to perform bulk delete for unsynced users

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • None
    • User - Management
    • None
    • 130
    • 2
    • 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.

      Problem Definition

      Starting from Confluence 6.13, admins can delete users that are unsynced from Confluence. Unsynced users are users that are not synced any more when an external user directory is being synchronized. This could be because the user has been removed from the external directory or it is because the user directory filters no longer include that user etc.
      While this feature is useful, the current implementation only allows the deletion of these users individually and there is no option to perform bulk delete.

      Suggested Solution

      Having the bulk delete feature would greatly help.

            [CONFSERVER-57857] Provide the functionality to perform bulk delete for unsynced users

            Dmitry added a comment -

            200K + users, help..

            Dmitry added a comment - 200K + users, help..

            +1

            Also is it possible to have a workaround for the bulk delete directly through the database? we're facing issues to load the unsynced users through the GUI due to huge number of users in our DB.

            Hossam Ahmed Mohamed added a comment - Also is it possible to have a workaround for the bulk delete directly through the database? we're facing issues to load the unsynced users through the GUI due to huge number of users in our DB.

            +1

            Perbility added a comment -

            Honestly, I would expect the sync config to have a checkbox "sync deletions" to just set and forget about it, maybe with the option to anonymize content if the user ever edited anything.

            Perbility added a comment - Honestly, I would expect the sync config to have a checkbox "sync deletions" to just set and forget about it, maybe with the option to anonymize content if the user ever edited anything.

            Tamas Bela added a comment -

            4 years have passed, hundreds of users have been asking for the feature to be developed, and still, nothing is happening.

            Tamas Bela added a comment - 4 years have passed, hundreds of users have been asking for the feature to be developed, and still, nothing is happening.

            Better mention that the vote is useless. Nobody in Atlassian never looks at voting.

            Comments at least bump the ticket up their backlog or notification system.

             

            Philippe PEREZ added a comment - Better mention that the vote is useless. Nobody in Atlassian never looks at voting. Comments at least bump the ticket up their backlog or notification system.  

            (The voting's open, no need to comment with "+1")

            Piotr Janik added a comment - (The voting's open, no need to comment with "+1")

            +1

            Nicola J added a comment -

            Yes please! 60k users who've never used the system now needing deleting and it's painful to do by hand!

            Nicola J added a comment - Yes please! 60k users who've never used the system now needing deleting and it's painful to do by hand!

            +1

            James Hunt added a comment -

            While preparing for a Cloud Migration, we have ran into a situation where we need to process off more than 700 unsync'd users. Would be nice to have "purge all" button.

            James Hunt added a comment - While preparing for a Cloud Migration, we have ran into a situation where we need to process off more than 700 unsync'd users. Would be nice to have "purge all" button.

            +1

            +1 for bulk delete/bulk disable

            Randver Pálmi added a comment - +1 for bulk delete/bulk disable

            Vijay Sv added a comment -

            +1

            Vijay Sv added a comment - +1

            This feature might be helpful for us as well. I would have an additional functionality request: It should be possible to take influence on the pseudonym that is created for deletet users so that it would still be possible to trace who made changes to a pages in the past.

            Roman Holdener added a comment - This feature might be helpful for us as well. I would have an additional functionality request: It should be possible to take influence on the pseudonym that is created for deletet users so that it would still be possible to trace who made changes to a pages in the past.

            RBIT added a comment -

            +1

            RBIT added a comment - +1

            Though the script runs for me via Java console, I have around 90k users and I"m still running that script on Developer Tools Console of the browser and keep executing. Appreciate if the featue is brought via native option.

            ViswanathanR added a comment - Though the script runs for me via Java console, I have around 90k users and I"m still running that script on Developer Tools Console of the browser and keep executing. Appreciate if the featue is brought via native option.

            ViswanathanR added a comment - - edited

            +1, to have the bulk users remove.
            Can someone help how and where do I use the java script and how to run? I guess copying to Custom HTML <end of body section> and keep running multiple times until users deleted?

            ViswanathanR added a comment - - edited +1, to have the bulk users remove. Can someone help how and where do I use the java script and how to run? I guess copying to Custom HTML <end of body section> and keep running multiple times until users deleted?

            This request should have much more impact IMHO because this is very relevant in the EU due to DSGVO laws. A bulk delete of unsynced users or anonymization is highly demanded therefore. The JavaScript does only work for users that have never contributed something hence is mostly useless.

            Felix Müller added a comment - This request should have much more impact IMHO because this is very relevant in the EU due to DSGVO laws. A bulk delete of unsynced users or anonymization is highly demanded therefore. The JavaScript does only work for users that have never contributed something hence is mostly useless.

            AF added a comment -

            We just have approx. 1000 unsynched users, but still these are way too many to delete by hand. It would be nice to have a modern solution to clean "old" users.

            AF added a comment - We just have approx. 1000 unsynched users, but still these are way too many to delete by hand. It would be nice to have a modern solution to clean "old" users.

            Not saying you should because it's not pretty, but I'm following https://community.atlassian.com/t5/Confluence-questions/bulk-delete-for-unsynced-users/qaq-p/1000098#M157785

             

            AJS.$('#user-search #browse-user-table a:not(.confluence-userlink)').each(
                function (i, e) {var id = $(e).attr('href').split('=')[1];    
                    AJS.$.post('/admin/users/removeunsynceduser-confirm.action',
                        { userKey: id, 'atl_token': AJS.Meta.get('atl-token') }, 
                    function () { console.info('Deleted ' + id) })
                })
             

             

            Modifying the URL parameters, one can have up to 200 users in a page. `/admin/users/dosearchunsyncedusers.action?searchTerm=*&resultsPerPage=200&startIndex=0`

             

            If that page doesn't load for you, try the workaround in https://jira.atlassian.com/browse/CONFSERVER-58621

            Cintia Calvo added a comment - Not saying you should because it's not pretty, but I'm following https://community.atlassian.com/t5/Confluence-questions/bulk-delete-for-unsynced-users/qaq-p/1000098#M157785   AJS.$( '#user-search #browse-user-table a:not(.confluence-userlink)' ).each( function (i, e) { var  id = $(e).attr( 'href' ).split( '=' )[1];     AJS.$.post( '/admin/users/removeunsynceduser-confirm.action' , { userKey: id,  'atl_token' : AJS.Meta.get( 'atl-token' ) },  function () { console.info( 'Deleted '  + id) }) })   Modifying the URL parameters, one can have up to 200 users in a page. `/admin/users/dosearchunsyncedusers.action?searchTerm=*&resultsPerPage=200&startIndex=0`   If that page doesn't load for you, try the workaround in https://jira.atlassian.com/browse/CONFSERVER-58621

            Let speak frankly, currently this feature is not usable. I don't know how long it takes your instance to display the screen of "Unsynced users" but on mine it takes several minutes, and as I'm behind a load balancer (datacenter) with a 60 seconds timeout, I need to bypass is and log directly on one of the node to just reach this screen.

            As usual with Atlassian, things are thought , designed and implemented on a local test env but do not scale.

            Philippe PEREZ added a comment - Let speak frankly, currently this feature is not usable. I don't know how long it takes your instance to display the screen of "Unsynced users" but on mine it takes several minutes, and as I'm behind a load balancer (datacenter) with a 60 seconds timeout, I need to bypass is and log directly on one of the node to just reach this screen. As usual with Atlassian, things are thought , designed and implemented on a local test env but do not scale.

            Well, I have around 90,000 unsynced users right now. I spent months to detect and clean up those users to get Confluence to work well again, but it seems like I'm still stuck.

            Cintia Del Rio added a comment - Well, I have around 90,000 unsynced users right now. I spent months to detect and clean up those users to get Confluence to work well again, but it seems like I'm still stuck.

            Konstantin added a comment -

            Our instance has 18257 unsynced users atm.

            What am i supposed to do? Run selenium scripts on it?

            Konstantin added a comment - Our instance has 18257 unsynced users atm. What am i supposed to do? Run selenium scripts on it?

            Hao Doan added a comment -

            Please make it happen. This seems to be an easy enhancement.

            Hao

            Hao Doan added a comment - Please make it happen. This seems to be an easy enhancement. Hao

            Philippe PEREZ added a comment - - edited

            Hello,

            As you are "gathering interrest" of this, this is one: because of GDPR laws in Europe, we are requested to delete personal information about people who left the company (this is why this "unsync users" feature has been introduced in Confluence 6.13.

            As we are using Confluence since 6 years now, with a current population of 14.000 users, we have hundreds of people who left the company and we will now need to be removed. We can't humanely do it manually.

            It's a good thing to have provided a way to keep the thing clean in the future, but you have to think about the past too.

            In addition to that, if we would like to develop an automated process to cleanup people information in sync with their termination in the company, a REST API is needed.

            Philippe PEREZ added a comment - - edited Hello, As you are "gathering interrest" of this, this is one: because of GDPR laws in Europe, we are requested to delete personal information about people who left the company (this is why this "unsync users" feature has been introduced in Confluence 6.13. As we are using Confluence since 6 years now, with a current population of 14.000 users, we have hundreds of people who left the company and we will now need to be removed. We can't humanely do it manually. It's a good thing to have provided a way to keep the thing clean in the future, but you have to think about the past too. In addition to that, if we would like to develop an automated process to cleanup people information in sync with their termination in the company, a REST API is needed.

              Unassigned Unassigned
              afaridi Ahmad Faridi
              Votes:
              160 Vote for this issue
              Watchers:
              114 Start watching this issue

                Created:
                Updated: