Developer Documentation

The Xibo Platform offers various opportunities for a developer or designer to be involved in the Digital Signage creative process, and often adding a technical element to your network really makes it come alive. This developer documentation aims to provide guidance on all parts of the platform which have technical elements.

This documentation is written for a technical audience. If you are looking for a user manual, or documentation for administrators, please use the links provided.

An attempt has been made to order these documents such that more common activities are discussed first, however which parts you need will depend on what you want to achieve; refer to the below overview.

  • Widgets: Learn how to create Embedded or Package HTML Widgets using the Layout Designer, or dive into creating your own Module.
  • Player Control: Discover what can be done player side including what information from the Player is available to a Widget, how to control duration and how to send/receive webhooks.
  • Integrate: Connect a 3rd party system with Xibo. Learn how to authenticate to Xibo’s API and what you can do with it.
  • Themes: If you want to alter the appearance of the CMS by changing colours and adding logos, here is the place we discuss that.
  • Extend: Here we discuss how to add functionality to the platform by extending the CMS. Learn the CMS architecture and include your own PHP code via Middleware.
  • Creating a Player: Not for the feint of heart, but useful if you have a very specific use case, niche hardware requirement or want to contribute to one of the open source players. Learn how Players are expected to communicate with the CMS and how they render content.

A note on Open Source

Full disclaimer, we are not lawyers or experts in software law! If you have any doubts always speak to a professional.

Xibo is open source and that has some implications for certain activities. As a general rule if you’re entering code into the CMS via the user interface, uploading as package HTML, sending a webhook or connecting via the API you are doing so at “arms length” and you can licence your code as you wish. If you’re developing a theme, a custom module or extending Xibo then your code does fall under the AGPLv3.

A note on contributing

If you’re doing something cool that you think should be in the core software, then we always have our arms and ears open! We have some guidelines on Contributing which you can refer to before you get started.