I got a little curious about how many entities there are in Content Hub and what their schemas look like.
First, I headed to the Entities page:
And then to Schema page:
While the page gave me some of the information I was looking for, it did not show all the entities. For instance M.Mailing.Template is missing. As per the Content Hub documentation , you can add the missing types by making some configuration changes.
However, this should be done with caution.
From the documentation:
The list of Entity definitions shown in the Entity Manager can be restricted within the system settings (category: portal configuration) in order to avoid unwanted or misconfiguration. The restriction itself should be executed by a technical administrator.
Important Note: Proceed carefully when using this admin tool, as using it without the required knowledge might cause unexpected system behavior or system instability.
Changing configurations is not always ideal, and I did not want to change anything in the UI. However, I noticed a pattern in the URLs:
<base URL> /en-us/admin/definitionmgmt/detail/40 took me to the M.Asset schema page.
<base URL> /en-us/admin/definitionmgmt/detail/3 took me to the UserProfile schema page.
So, being a coder, I took the simpler approach:
// Create the Web SDK client
IWebMClient client = Helper.GetWebMClient();
var entityDefinitionIds = await client.EntityDefinitions.GetRangeIdsAsync(0, 1);
var numberOfPages = Math.Ceiling(((double)entityDefinitionIds.TotalNumberOfResults / 25)); // using 25 as that is the default size
List<string> definitionNames = new List<string>();
for (int i = 0; i < numberOfPages; i += 1)
{
var entityDefinitions = await client.EntityDefinitions.GetRangeAsync(i * 25);
definitionNames.AddRange(entityDefinitions.Items.Select((item, index) => $"{(index + 1) + (i * 25)}. {item.Name}"));
}
Note: The API limits the number of results to optimize performance, which is why the number 25 is used.
This code gave me a result like this:
Now that I had the IDs, all I had to do was change the URL:
Link to M.Mailing.Template schema: en-us/admin/definitionmgmt/detail/14
Of course, I could get the details I was looking for in the code itself, but browsing the UI is more intuitive and more efficient, once the needed details are added.
NIKET ASHESH
Partner