Widgets introduce support for the personalization of pages. This feature allows users and editors to edit the structure of page templates. The personalized settings are saved within the system and can be invoked from the live site by authorized users or through the CMS Desk interface in the case of website editors.
From a designer's point of view, widgets are the basic building blocks of page templates in the same way as web parts. Like web parts, they are placed into zones, which must be configured to contain a certain type of widgets. For more information about web development basics, such as page templates, please refer to the Developer's Guide -> Development -> Web development overview -> Portal engine development model chapter.
There is a predefined set of widgets in the default CMS Kentico installation. As all widgets are based on existing web parts, you can alternatively create your own widgets. Widgets are created and managed at Site Manager -> Development -> Widgets. The details are given in the Developer's Guide -> Development -> Widgets -> Developing widgets topic.
As mentioned above, widgets provide the same functionality as ordinary web parts. However, users with appropriate rights can modify widget properties, their placement on the web page, add and remove widgets from their pages and so on. Users are divided into four different groups according to the possible ways they can use widgets:
|•||Site developers/Administrators - define the placement of widget zones and their default content, select web part properties available for personalization in widgets and manage all available widgets|
|•||Page editors - define the content of widget zones created on the page templates by the site developers/administrators|
|•||Group administrators - define the content of widget zones on group page templates|
|•||Website users - customize the design of their home page or another page which can be personalized on the live site|
Security issues, such as the definition of where individual widgets can be used and permissions for different types of roles are discussed in the Security topic in the same chapter of the Developer's Guide.
The Widget internals and API sub-chapter provides information about the database tables and classes used by widgets and examples of how widgets can be managed using the API.