Generating a List of Liquid Content Components Used Across the Portals

Overview


This article explains how to generate a list of liquid content components used across the Portals in the following two sections:

 



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.


Back to top



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 the Roles/Users table and the Permission 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 the Tabs table (which has a reference to the PortalID) and to the PortalLocalization table to obtain the Portal details.
      Furthermore, the TabModules table can be joined to the TabPermission table to get the specific permissions for the pages where the module is shared.


Back to top


 

Comments

0 comments

Please sign in to leave a comment.