Widgets are a core component of Xibo and are used to display content in a Region. If a user adds some text, an image, or some dynamic content to a Layout they are adding a Widget. A suite of Widgets are provided in the core software, these are discussed in the user manual.

There are two special Widgets included in Xibo which allow a user to configure HTML/CSS and JavaScript to be run on the Player and rendered in a Region. These are:

  • Embedded: use this Widget to add html/css and JavaScript directly in the Layout Designer
  • HTML Package: use this Widget to provide a ZIP file (with htz extension) which the player extracts locally and serves via its web server

You can find out more about these Widgets in the Embedded and HTML Package sections.


On a technical level, a Widget has a special handler in the CMS code called a Module. Modules provide the methods needed to add/edit and render the Widget. All Widgets have a Module to handle their configuration and execution. Xibo can be extended with Custom Modules which are auto-loaded through the \Xibo\Custom namespace. This would be desirable for content which should be rendered offline and yet changes more frequently than a package HTML. It is also useful to centralise the point of integration - think integration with a booking system, you’d want to have the CMS collect up the data for presentation, format it and deliver it to the player - this is a perfect use for a custom module.

Creating a module is discussed in the Creating a Module section section.

Upgrading custom modules

We only revise the way modules work between major releases, so v1 to v2 to v3 and if there are changes to be made they are described in the associated section shown in the menu to the left.