Migrating User Content - Tips & Tricks

629
1
07-23-2020 10:57 AM
Esri Contributor
2 1 629

This blog walks through the various options available to administrators and users that are looking to migrate ArcGIS Online user content. The options range from UI tools, partner applications, and the ArcGIS Python API.

The blog will reflect the 2 scenarios that exist for administrators and users: moving content within the same organization and moving content/migrating users to another organization.

Moving within the same organization


ArcGIS Online - 'Transfer Content'

This tool was added in the June 2020 release of ArcGIS Online and allows an administrator to select one or many users - and then transfer all of that content to one user account. All of this migrated content will get placed into folders that are titled with the user name. An administrator can select multiple users based on Group Membership or User Type by using the filters found within ArcGIS Online. Here is a short video demonstrating this functionality: Video Link : 6438

Limitations
  • Folder structure does not transfer - everything is placed into a folder with the users name
  • 100 users max. at a time
Required Privileges
  • Administrative privileges (reassign ownership)
Supported Item Types
  • No limitations found through my testing (please let me know if you find something that doesn't work).

ArcGIS Online - change item ownership

The easiest way to move content from one owner to another is to log in as an Administrator, view your users, and then select 'Manage Items'. This will bring you to all of the user's items and you can choose to migrate all or just a selection of the items to any new user.

Limitations
  • Items in a 'Shared Update Group' will not transfer
Required Privileges
  • Administrative privileges (reassign ownership)
Supported Item Types
  • Noted above - any items in a 'Shared Update Group' will not transfer

GeoJobe - Admin Tools for ArcGIS Online (Esri Partner)

GeoJobe has provided a really nice UI that utilizes the core capabilities of the ArcGIS REST library. The tools have a free and paid version and the free tools have a lot of functionality. If you go to the 'Item' tools - you can query for items by a certain user, or name, or tag, and then update the ownership. A great way to combine this functionality is with the ability to add tags to users or items, and then select multiple items/users by that tag (create a really unique tag like "class.540.fall" to ensure that it only includes the right items).

Limitations
  • Similar to 'change item ownership', will fail if items are in a 'Shared Update Group'
Required Privileges
  • Need to have the application added into your organization from Esri's Marketplace - user needs to have the privileges for Marketplace apps, or have administrator privileges
Supported Item Types
  • I have not tested all of the item type limitations, but GeoJobe support/chat is a fantastic way to reach out for assistance

ArcGIS Notebooks (ArcGIS Python API) - 'Move existing user content to a new user'

The workflow outlined here is applicable if Single Sign-On is enabled and new user names are generated. This script allows an administrator to maintain both group membership, as well as each members content folder structure.

Limitations
  • None that I am aware - please let me know if you encounter and limitations
Required Privileges
  • Administrative privileges (reassign ownership)
Supported Item Types
  • None that I am aware - please let me know if you encounter and limitations

Moving between organizations

ArcGIS Notebooks (ArcGIS Python API) - 'Clone portal users, groups, and content'

The workflow described is for an administrator that is looking to copy users, groups, and content to a new organization. If there is a new administrative organization created or a shift to ArcGIS Enterprise - this workflow can assist. This example also provides good starting place.

Limitations
  • Does not copy over services - it will copy over items and point back to the services.
  • This is a fairly involved, technical process, but it does provide the most authoritative approach to migrating content
  • StoryMaps are not supported
Required Privileges
  • Administrative capabilities
Supported Item Types
  • As noted - it does not copy over services

GeoJobe - Admin Tools (Esri Partner)

The paid version of this partner's tool set allows administrators to 'Migrate Users' between organizations. It provides the ability to select content and migrate this to a separate organization. They also provide a number of 'cloning' tools, which include groups, items, and users. Both of the organizations that are having content migrated must be licensed with the 'Pro' edition of the software.

Limitations
  • There is a cost for the 'Pro' version of the toolset and both organizations need to have it licensed
  • For the latest support and limitations, please reach out to the GeoJobe team
Required Privileges
  • Need to have the application added into your organization from Esri's Marketplace - user needs to have the privileges for Marketplace apps, or have administrator privileges
Supported Item Types
  • For the latest support and limitations, please reach out to the GeoJobe team

ArcGIS Online Assistant

This is an 'unsupported' application that was released by Esri for various organizational administrative tasks. One of the 'beta' functionalities that is included is the ability to transfer content between 2 organizations. Combined with the 'Transfer Content' tools in ArcGIS Online, this provides an option for migrating multiple users content to a new organization.

Limitations
  • There is a long list of item types that cannot be transferred (Insights Workbooks, Dashboards, etc.)
Required Privileges
  • Publisher
Supported Item Types
  • Feature Services, Web Maps, Web Scenes, Web Mapping Applications, Map Service, Image Service, Geoprocessing Service

Closing

If tools are not functioning as they should or if there are gaps in what you need, please let us know (in the comments below or send an e-mail: bbaldwin@esri.com). New functionality, applications, etc. are driven by user needs - so we need to know your needs!

Tags (2)
1 Comment
Occasional Contributor II

Here are a few additional thoughts, which might be helpful to folks, particular those diving deeper into cloning content between organizations. 

I haven't come across a one-size-fits-all solution, scripting or otherwise, for transferring *ALL* types of content from one ArcGIS Online organization to another. I think Brian's post bears that out as well. (I'd be happy to hear if others have found one!)

 

You can get close with a Python script or Notebook that uses the clone_items() method from the ArcGIS API for Python. It handles a great many item types, however, there is still a subset that it does not handle, such as ArcGIS StoryMaps, Map Services, and Image Services.

 

The Clone Portal users, groups and content sample Notebook Brian mentions above provides a general solution for transferring users, groups, and content. You can easily adapt it to work for a specific user or list of users, rather than all users in an organization, however, it does not handle all content types.

 

There is also the note, "...if the item points to a web layer URL, the target item would also point to the same URL." What this means is that the workflow in their example does not update items that reference other items when they are transferred. For instance, while a user's Web Map and the Feature Layers it references are copied over to the new organization, the Web Map in the new organization will still point to the Feature Layers hosted on the old organization. 

I think most people tackling the problem of moving content from one ArcGIS Online organization to another have the expectation that when you copy over a Web Map and its Feature Layers, then the new Web Map will point to the new Feature Layers. The method used in the above Notebook, however, leaves you to do that swizzling manually on your own.

 

The clone_items() method improves on the above approach, as it is capable of swizzling the items it transfers. For instance, when you use it to clone a Web Map to a different organization, then you can also have it clone the Feature Layers referenced in the Web Map, as well as swizzle the cloned Web Map on the destination organization to point to the cloned Feature Layers on the destination organization.

The Cloning Content Notebook provides a lot of great examples of how to use clone_items() to transfer content between organizations. It makes a good starting point for a "transfer script" that would handle most item types, at least those that clone_items() method supports.

 

One of the item types that clone_items() does not currently supported is ArcGIS StoryMaps; however, there is a comment in the Notebook that suggests that they are working on that! Meanwhile, as this is a common request we get, we developed a Notebook to specifically handle this content type (see Clone an ArcGIS StoryMap). It wraps additional logic around clone_items()to recursively discover and clone referenced content, and makes assumptions about what referenced content to clone based on ownership.

Map Services and Image Services also cannot currently be cloned with clone_items(). As noted in the Cloning Content Notebook, the challenge is that it doesn't know enough about your system architecture to fully know your intentions. Since you do know your system, however, you can add the extra logic needed to your script to handle cloning such items.

 

So, while ArcGIS Online currently lacks direct support for transferring content between organizations, a scripting-based approach using clone_items() will likely handle "most" situations for you. And, the remaining situations will hopefully be small enough in number that you can handle them manually on a case-by-case basis.