Widget internals and API
Database tables
|
Database table |
Description |
|
CMS_WidgetCategory |
Stores records representing widget categories. |
|
CMS_Widget |
Stores records representing widgets and their configuration. |
|
CMS_WidgetRole |
Stores relationships between widgets and roles. Each entry in this table indicates that a specific widget can be used by users in a given role. |

Widget instance storage
The system stores the content of widget zones (widget instances) in the database. The location depends on the type of the widget content:
|
Widget content type |
Description |
Storage |
|
Default zone content |
The default widget content of all zone types, prepared by page developers on the Design tab. |
In XML format in the PageTemplateWebParts column of the CMS_PageTemplate table. |
|
Editor zone content |
Widget instances placed onto individual pages by page editors on the Page tab of the Pages application. |
In XML format in the DocumentWebParts column of the CMS_Document table. |
|
Group zone content |
Widget instances placed onto pages by group administrators on the live site. |
In XML format in the DocumentGroupWebParts column of the CMS_Document table. |
|
Dashboard and user zone content |
Widget instances in personalized user and dashboard widget zones. The content depends on the current context (user and site). |
In the CMS_Personalization table. |
|
Inline widgets |
Widgets placed into the text content of:
|
As control macro expressions:
|
API classes
|
Class |
Namespace |
Description |
|
CMS_WidgetCategory table API |
||
|
WidgetCategoryInfo |
CMS.PortalEngine |
Represents individual widget categories. |
|
WidgetCategoryInfoProvider |
Provides management functionality for widget categories. |
|
|
CMS_Widget table API |
||
|
WidgetInfo |
CMS.PortalEngine |
Represents individual widget objects. |
|
WidgetInfoProvider |
Provides management functionality for widgets. |
|
|
CMS_WidgetRole table API |
||
|
WidgetRoleInfo |
CMS.PortalEngine |
Represents relationships between widgets and roles (permissions). |
|
WidgetRoleInfoProvider |
Provides management functionality for widget-role relationships. |
|
|
CMS_Personalization table API |
||
|
PersonalizationInfo |
CMS.DocumentEngine |
Represents personalized versions of pages (for a specific site and user). |
|
PersonalizationInfoProvider |
Provides management functionality for personalization objects. |
|
|
Other classes |
||
|
WebPartInstance |
CMS.PortalEngine |
Allows you to work with widget instances. |
|
WebPartZoneInstance |
Allows you to work with web part (widget) zones. |
|