Cross Project Asset Sharing

Modified on Wed, 28 Jan at 4:48 PM

TABLE OF CONTENTS


Asset Sharing Across Projects

Overview

This guide outlines the steps required to share assets (e.g., User Migrations) from one project to another in ManagementStudio. The same principles apply to other asset types, such as Applications or Devices.

Note: For additional guidance on multi-project best practices, refer to the Multi-Project: Best Practice article.


How Asset Sharing Works

ManagementStudio enables asset sharing between projects, allowing multiple projects to access common or distinct sets of assets (such as User Migrations). For instance, if Project 1 contains 5,000 User Migrations, some or all of these assets can be shared with other projects.



When an asset is shared from Project 1 to Project 2, the asset is visible in both projects. "Common fields" (e.g., domain, username) will display the same values across all projects; changes to these fields in one project are reflected in all projects where the asset is shared.

"Per project" fields, however, can differ between projects. For example:

  • The asset can be at different workflow process steps in each project.
  • Priority, migration dates, and statuses can differ by project.
  • See the Field Reference section for a full list of per-project fields.

In Administration → [Module] → Details Config, common fields are indicated by a tick in the MP (Multi-Project) column.

  • Built-in and custom dropdown lists across all modules are only editable in the initial project.
  • In child projects, these fields are read-only.


Built-in dropdown lists for Applications


Custom dropdown lists for Applications


Package Type dropdown in initial project. 


Package Type dropdown in child project. Note the dropdown is not available.


Custom Fields


Custom Fields are common across Projects (i.e. they are Multi-Project) 


  • Custom Fields (CustomFlagX, CustomPropertyX, CustomListX, etc.) are common across shared assets and should not be visible in child projects.
  • If you require custom fields in a multi-project setup, use Project Fields instead.

Project Fields

Project Fields exist per Project (i.e. they are not Multi-Project)

  • Project Fields (ProjectFlagX, ProjectPropertyX, ProjectListX, etc.) exist independently in each project, allowing for project-specific data.

Custom Tabs

  • Custom tabs are stored separately in each project.

Licensing

  • Only one licence ticket is required per asset, regardless of how many projects it is shared to.
  • The maximum number of allowed projects is defined by your licence. Contact your representative to add more projects to your licence if needed.

Setup Steps

1. Set Up a Role Group

Ensure at least two projects are set up. For project creation steps, see the Create a new project article.

  • Open the first project.
  • Navigate to Administration → Role Groups → Click here to add new item.
  • Name the group (e.g., Asset Sharing Admin).
  • Click Edit Rules.
  • At the bottom of the permissions list, enable the following options:

  • Cross Project Permissions
    • Configuration
    • Share Asset
    • Remove Asset
  • Click Finished → Save Changes → Save.

Note: Multiple role groups with custom cross-project permissions can be created as needed.


2. Add User Accounts to the Role Group

  • Go to Administration → User Accounts.
  • Select the user(s), right-click, and choose Add Roles → [New Role] → Add Roles.
  • Include the API Connectors account in the new role group.

  • Restart the ManagementStudio client.
  • Go to Administration and confirm that the Cross Project Settings button is visible.


3. Configure Permissions on the Target Project

  • Repeat steps 1 and 2 for each project that will participate in asset sharing.


4. Set Up Asset Sharing

  • Navigate to Administration → Cross Project Settings.
  • Configure the following options:
SettingDescription
Share FromSource project.
Share ToTarget project.
Module to ShareSelect the asset type to share.
How to ShareSharing method.
All To: Share all assets from source to target.
All to & Back: Share all assets both ways.
Specific To: Share selected assets from source to target.
Specific To & Back: Share selected assets both ways.
Ignore: Disable this rule.
Cascade ArchiveArchiving the asset in the parent project also archives it in the child.
Note: Only archiving from the parent triggers cascading. Contacts are excluded.
Cascade DeleteDeleting the asset in the parent project also deletes it in the child.
Note: Only deleting from the parent triggers cascading. Contacts are excluded and deleted permanently across all projects.
RemoveRemoves the cross-project sharing rule.


  • Click Save Changes.
  • Click Sync Assets Now.


5. Share Assets

Specific Assets

If How to Share is set to Specific To or Specific To & Back, only selected assets will be shared.


Steps:

  • Navigate to the relevant module (e.g., User Migrations → All User Migrations).
  • Select the assets to share.
  • Right-click and select Cross Project Sharing → Share to Project → [Target Project].

  • Click Share.


All Assets

If How to Share is set to All To or All To & Back, all assets in the specified module are shared automatically—no further action is required.



Field Reference

The following table outlines which fields are common across projects (values always the same) and which are per project (values can differ).


Common Fields

User MigrationsApplicationsDevicesMailboxesBespoke
AdSidAceCategoryAdSidAdSidAdSid
All Custom FieldsAll Custom FieldsAll Custom FieldsAll Custom FieldsAll Custom Fields
AzObjectIdAlsoKnownAsAssetTagCreatedByIdBespokeId
CreatedByIdAppEditionAzDeviceIdCreatedOnBespokeName1
CreatedOnAppIdAzObjectIdDescriptionBespokeName2
DescriptionAppNameBuildVersionEmailBespokeName3
DomainAppStatusIdCreatedByIdEmail2CreatedById
EmailAppVendorCreatedOnFontIconCreatedOn
Email2AppVersionDescriptionLegacyIdDescription
EmployeeIdArchitectureIdDeskNumberLocationIdEmail
FirstNameComplexityIdDeviceArchitectureMailIdEmail2
FontIconCreatedByIdDeviceIdMailName1FontIcon
LastNameCreatedOnDeviceTypeIdMailName2LegacyId
LegacyIdCustomerIdDomainMailName3LocationId
LocationIdDescriptionEmailMigrationDate1MigrationDate1
MigrationDate1EmailEmail2MigrationDate2MigrationDate2
MigrationDate2Email2FloorNumberMigrationTypeIdMigrationTypeId
MigrationIdEndOfLifeDateFontIconPriorityIdPriorityId
MigrationTypeIdFontIconHostNameRandomKeyRandomKey
PhoneNoInTuneIdInTuneIdStatusIdStatusId
PriorityIdIsCoreAppIpAddress
RandomKeyIsStoreAppLegacyId
SamAccountLanguageIdLocationId
StatusIdLegacyIdMacAddress
UserPrincipalNameLocalisationIdMake
OwnedByIdMemory
PackagedByIdMigrationDate1
PackageTypeIdMigrationDate2
PackagingSiteIdMigrationTypeId
PkgVerMajorModel
PkgVerMinorOperatingSystem
PkgVerPatchOsAceLabel
PriorityIdOsEoLActiveSupportDate
RandomKeyOsEoLSecuritySupportDate
RequiredDateOsIsPastEoL
SupersededByPriorityId
VersionBuildProcessor
VersionMajorRandomKey
VersionMinorSerialNumber
VersionRevisionServicePack
WarrantyDateSmBiosGuid
StatusId


Per Project Fields (apply to all modules):

  • All Project Fields
  • Process
  • Subprocess
  • ProcessStatus
  • EnteredProcessOn
  • DeployUnit
  • DeployUnitSlotStart
  • SelfScheduleLocked
  • AssignedToId
  • DelegateTo1Id
  • DelegateTo2Id
  • PreventNewLinks
  • IsArchived
  • IsDeleted
  • IsLocked

Further Support

For additional support, visit the ManagementStudio Service Desk to search the knowledge base or raise a support ticket.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article