This article explains how to generate a list of liquid content components used across the Portals in the following two sections:
- Checking the History of a Content Item (Using the microservices API)
- Checking the Module-Specific Information (Using a SQL query)
Checking the History of a Content Item
The information for the history of a Content Item can be checked using the microservices API. However, this can only be done with one Portal at a time since each site is a different instance and would use a different token.
Furthermore, a defined list of the specific Content Items to query (
GET) should already be in place; otherwise, it might be necessary to
GET query all the items.
NOTE: This will only work for Content Items and Content Types since that is the scope of the Content Library Token.
Checking the Module-Specific Information
- To get the rest of the information which is module-specific, we can query the database. To get a full list of all the Visualizer modules that are shared, the fastest way would be to query the
TabModulestable and get a list of every ModuleID that appears more than once.
SELECT tm.ModuleID, COUNT(*) AS count
FROM TabModules tm
JOIN Modules m
ON tm.ModuleID = m.ModuleID
WHERE m.ModuleDefID = (SELECT ModuleDefID FROM ModuleDefinitions WHERE FriendlyName = 'Visualizer')
GROUP BY tm.ModuleID
HAVING COUNT(*) > 1
- Once the above (Visualizer modules) list is completed, we can gather the rest of the information from the following tables:
ModuleSettings: This table contains the settings based on the ModuleID.
ModulePermission: This table contains the permissions for the module. This table would need to be joined to the
Userstable and the
Permissiontable for more verbose output.
ContentItems: This table has a column for Master Page (TabID) based on the ModuleID.
TabModules: This table has a reference to the pages (TabID) where the module is located. This table can be joined with the
Tabstable (which has a reference to the PortalID) and to the
PortalLocalizationtable to obtain the Portal details.
TabModulestable can be joined to the
TabPermissiontable to get the specific permissions for the pages where the module is shared.
Please sign in to leave a comment.