Question
Where do the SysPageSchemaUId and MiniPageSchemaUId fields refer to (the SysModuleEdit table)? Where does the SysEntitySchemaUId field from the SysModuleEntity table refer to?
Answer
The SysModuleEdit table:
The table describes the connection of configuration objects with their edit pages.
For example, the [Activity] object can have one or several edit pages described in the table. Basically, the "Object"-"The page schema, displaying the object content" connection is set here.
Primary table columns:
SysModuleEntityId - link to the SysModuleEntity table, described below. Basically, the link to the "Activity" object schema is described in it. All the schemas are contained in the SysSchema table.
TypeColumnValue - if the column is empty, it means that this object has a single edit page. If the TypeColumnValue field is populated, it is the identifier of type that differentiates between the edit pages. For example, the Activity edit pages can be differentiated by the ActivityType column and the Id of this specific table (ActivityType) is recorded in TypeColumnValue. The differentiation can be by any reference column of an object, but only by one at a time. It is usually the "Type" column.
CardSchemaUId - the link to the UId field of the SysSchema table, namely to the edit page schema. For example, the link to UId of the ActivityPageV2 schema, but the string must necessarily be as follows:
SELECT * FROM SysSchema WHERE Name = 'Activity' AND ExtendParent = 0
In other words, it should be the base, parent page schema. The same refers to all SysSchema-related links. They always refer to a parent schema (ExtendParent = 0), so that inheritance could work.
The rest of text columns are text views of pages and tasks.
SysPageSchemaUId - the link to the old aspx pages (SysSchema), not used now.
MiniPageSchemaUId - used for creating mini pages, read more at https://academy.bpmonline.com/documents/technic-sdk/7-12/creating-pop-s…
The SysModuleEntity table:
The connection table for SysModuleEdit, the final connection is as follows:
SysSchema (object schema) – SysModuleEntity – SysModuleEdit – SysSchema (page schema(s))
Primary table columns:
SysEntitySchemaUId - the link to the SysSchema table, namely to the object schema. For example, to the UId field of the following record:
SELECT * FROM SysSchema WHERE Name = 'Activity' AND ExtendParent = 0
TypeColumnUId - is populated for cases, when there are many edit pages for a single object. The UId of the column is specified here from the metadata of the differentiating object, ideologically it is tightly connected with the TypeColumnValue column of the SysModuleEdit table.