| Lifecycle Question |
Extension attributes |
Directory Extensions |
Schema Extensions |
Open Extensions |
Custom Security Attributes |
| Has Lifecycle States? |
No(always there) |
No(there and not there) |
Yes (InDevelopment, Available, Deprecated) |
No(never there) |
Yes(Active,Deactivated) |
| Can other apps in the same tenant discover the extensions definitions? |
Yes (same in every tenant) |
Yes |
Yes |
No defintions to discover |
Only with the Attribute Definition roles |
| Can other apps in same Tenant read the data (If app has read permissions to the resource)? |
Yes |
Yes |
Yes |
Yes |
Only with Attribute Assignment Roles |
| Can other apps in same Tenant write the data (If app has write permissions to the resource)? |
Yes |
Yes |
Yes |
Yes |
Only with Attribute Assignment Roles |
| Can defintions be shared with or discovered by other tenants? |
They already are |
If app is Multi-Tenant and gets installed |
Once the Schema Extension is in Available State |
No |
No |
| Can the extension be deleted? |
No |
Yes |
Only when in the InDevelopment State |
N/A (there are no definitions) |
No |
| Can be deactivated or deprecated? |
No |
No |
Yes (deprecated) |
No |
Yes (deactivated) |
| Deletion of owning App |
|
|
|
|
|
| What happens to the definitions? |
N/A |
Deletes the Extensions Definition |
Not deleted but no longer updateable |
Deleting the Creator app has no impact |
N/A |
| What happens to the definitions in other tenants? |
N/A |
Nothing – other tenants could not update the definitions anyhow |
Nothing – other tenants could not update the definitions anyhow |
N/A |
N/A |
| What happens to the data? |
N/A |
Makes it undiscoverable |
All properties and values are still discoverable |
Deleting the Creator app has no impact |
N/A |
| What happens to the data in other tenants? |
N/A |
None |
None |
N/A |
N/A |
| Can the extension be deleted? |
N/A |
Yes |
Only when in the InDevelopment State |
N/A (there are no definitions) |
No |
| What happens to the definitions? |
N/A |
Deletes the Extensions Definition |
Definition deleted and undiscoverable[[1]](#_msocom_1) |
N/A |
N/A |
| What happens to the definitions in other tenants? |
N/A |
Nothing – other tenants could not update the definitions anyhow |
N/A (can’t delete when shared) |
N/A |
N/A |
| What happens to the data? |
N/A |
Makes it undiscoverable |
Makes it undiscoverable |
N/A |
N/A |
| What happens to the data in other tenants? |
N/A |
Nothing |
N/A (can’t delete when shared) |
N/A |
N/A |
| Can the extension be deactivated or deprecated? |
No |
No |
Yes (deprecated) extension can no longer be read or modified |
No |
Yes (deactivated) Can no longer be applied |
| Effect on other tenants? |
N/A |
N/A |
extension can no longer be read or modified |
N/A |
N/A |
| What happens to the data when the Extension is deprecated or deactivated? |
N/A |
N/A |
Can read, update and delete existing property values |
N/A |
*Data is preserved * Can no longer be applied to resources |
| Effect on other tenants? |
N/A |
N/A |
Can read, update and delete existing property values |
N/A |
N/A |
| Data in Undiscoverable/Deactivated count against limits |
N/A |
Yes |
Probably |
N/A |
Yes |
|
|
|
|
|
|