Cross Project Asset Sharing

Modified on Wed, 08 Nov 2023 at 10:40 AM

TABLE OF CONTENTS

Overview

This article walks through the required steps to share assets (User Migrations in this case) from one project to another. The same principals can be applied where other asset types (e.g. Applications, Devices) need to be shared.


How it Works

ManagementStudio supports asset sharing between projects. This is a hugely beneficial feature as it allows multiple projects to run concurrently with some or all of the assets (User Migrations etc) shared from one project to another. For example if there are 5,000 User Migrations in Project 1, some (or all) of these can be shared with one (or many) other projects. 



Key Concept

When an asset is shared from Project 1 to Project 2, you are effectively making the same asset visible in both projects. This means that the 'common fields' of the asset (such as the domain and username for a User Migration) will be the same across all projects. If any of these fields are changed in one project, the change will be seen in all other projects where the asset has been shared.


However 'per project' fields of the asset can be different. For example:

  • The asset can be in a different workflow process step in each project
  • The priority can be different in each project
  • The migration date can differ
  • See below for a full list of 'per project' assets



Licencing

One of the benefits of cross project asset sharing is that only one licence ticket is consumed for each asset regardless of how many projects it has been shared to. This means that the same set of users can be managed across multiple projects with no impact on licencing. Note that the number of allowed projects is set in the licence. Please contact you representative if you would like more projects added to the licence.


Setup Steps

1. Setup Role Group

Ensure that you have at least two projects setup in ManagementStudio.

  • Open the first project
  • Browse to Administration -> Role Groups -> Click here to add new item
  • Add a suitable name such as Asset Sharing Admin
  • Click Edit Rules
  • Scroll to the bottom of the permissions list and select these three options:

  • Click Finished -> Save Changes -> Save

Note that it's possible to setup multiple Role Groups with more granular Cross Project Permissions if required.


2. Add User Accounts(s) to new Role Group

  • Add the relevant account(s) to the new Role Group: Administration -> User Accounts -> Select the user(s) -> Right-click -> Add Roles -> Choose the new role -> Add Roles

  • Restart the ManagementStudio client
  • Browse to Administration 
  • Validate that the Cross Project Sharing button is visible

3. Configure the Permissions on the Second Project

  • Repeat steps 1 and 2 above for the second (and third etc. if required) ManagementStudio project

4. Setup Asset Sharing in Projects

  • Browse to Administration -> Cross Project Settings
  • Select the required options


SettingDescription
Share FromChoose the source project
Share ToChoose the target project
Module to ShareChoose which assets should be shared
How to ShareAll to: Share all the assets from the source to the target
All to & Back: Share all the assets from the source to the target, and from the target to the source
Specific To: Allows individual assets to be shared from the source to the target project
Specific To & Back: Allows individual assets to be shared from either project to the other
Ignore: Disable this rule


Example setup:


5. Share Assets

Specific Assets

If the How to Share option is set to Specific To or Specific To & Back then only assets which have been explicitly shared will be available across multiple projects. These are the steps required to share assets with this setup:


  • Browse to the module where assets should be shared from, e.g. User Migrations -> All User Migrations
  • Select the assets to be shared
  • Right-click the assets


All Assets

If the How to Share option is set to share All To or All To & Back then there is no need to nominate which assets are shared.



Field Reference

 

User MigrationsApplicationsDevicesMailboxesBespoke
Common fields: Values always the same across different projects
MigrationIdAppIdDeviceIdMailIdBespokeId
FirstNameAppVendorHostNameMailName1BespokeName1
LastNameAppNameDomainMailName2BespokeName2
SamAccountAppVersionAssetTagMailName3BespokeName3
DomainVersionMajorCustomDataIdAdSidAdSid
AdSidVersionMinorMigrationDate1CustomDataIdCustomDataId
EmployeeIdVersionBuildMigrationDate2MigrationDate1MigrationDate1
EmailVersionRevisionEmailMigrationDate2MigrationDate2
Email2AppEditionEmail2EmailEmail
PhoneNoCustomerIdDeviceArchitectureEmail2Email2
CustomDataIdAlsoKnownAsOperatingSystemPriorityIdStatusId
MigrationDate1EmailBuildVersionStatusIdPriorityId
MigrationDate2Email2DeskNumberMigrationTypeIdMigrationTypeId
PriorityIdDescriptionFloorNumberLocationIdLocationId
StatusIdCustomDataIdMemoryLegacyIdLegacyId
MigrationTypeIdSupersededByMacAddressDescriptionDescription
LocationIdPkgVerMajorMakeCreatedByIdCreatedById
LegacyIdPkgVerMinorModelCreatedOnCreatedOn
DescriptionPkgVerPatchDeviceTypeIdFontIconFontIcon
CreatedByIdIsCoreAppPriorityIdRandomKeyRandomKey
CreatedOnAppStatusIdStatusId

FontIconLocalisationIdMigrationTypeId

RandomKeyArchitectureIdLocationId

UserPrincipalNameComplexityIdLegacyId

AzObjectIdLanguageIdAdSid


PackageTypeIdSmBiosGuid


PackagingSiteIdProcessor


PriorityIdSerialNumber


LegacyIdServicePack


OwnedByIdIpAddress


PackagedByIdDescription


CreatedByIdCreatedById


CreatedOnCreatedOn


RequiredDateFontIcon


EndOfLifeDateRandomKey


WarrantyDateAzObjectId


FontIconInTuneId


RandomKeyAzDeviceId


AceCategoryOsAceLabel


IsStoreAppOsEoLActiveSupportDate

InTuneIdOsEoLSecuritySupportDate


OsIsPastEoL


Per Project fields: Can vary in each project (apply to all modules)
Process
Subprocess
ProcessStatus
EnteredProcessOn
DeployUnit
DeployUnitSlotStart
SelfScheduleLocked
AssignedToId
DelegateTo1Id
DelegateTo2Id
PreventNewLinks
IsArchived
IsDeleted
IsLocked