Overview
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)
Information
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
TabModules
table 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 theRoles
/Users
table and thePermission
table 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 theTabs
table (which has a reference to the PortalID) and to thePortalLocalization
table to obtain the Portal details.
Furthermore, theTabModules
table can be joined to theTabPermission
table to get the specific permissions for the pages where the module is shared.
Comments
0 comments
Please sign in to leave a comment.