Welcome to the Xibo developer documentation where we will describe the extensive possibilities for integrating and extending Xibo. This documentation is written for developers by developers and if you are looking for a user manual, or documentation for administrators, please use the links provided.
Depending on your requirements, Xibo offers a range of different ways to integrate or extend the platform. An important distinction to understand is the difference between integration and extension.
Integration in Xibo is performed through one of the CMS or Player API’s. If you want to use the Xibo CMS on your own bespoke Player then you need to implement and understand the Player API. If you want to connect 3rd party systems and data to the CMS and use the existing Player estate, you need to use the CMS API.
Integrations do not run directly in the CMS environment and are managed via separate applications or scripts, which we call “Connectors”. Connectors can be written in any language and communicate with Xibo over the public CMS API.
Connector are an “arms-length” integration and therefore do not need to adopt the same licence as the CMS.
Extending Xibo means supplying custom PHP classes to be used as Middleware, Modules, Tasks or Themes, in order to modify the core functionality of the CMS. The most appropriate choice depends on the requirement and is discussed further in this document.
Extensions sit directly within the Xibo code base and therefore need to be released under the AGPLv3 open source licence.
If your extension is something you think should be included in the core project, please work with us to design a specification for it and target it to a release milestone.
It may be the case that to meet your requirements you need to extend Xibo with some custom functionality and then feed that with a Connector.