> For the complete documentation index, see [llms.txt](https://docs.xibosignage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xibosignage.com/developer/introduction.md).

# Introduction

> This documentation is written for a technical audience. If you are looking for a [user manual](https://account.xibosignage.com/manual/en/), or [documentation for administrators](https://account.xibosignage.com/docs/setup), please use the links provided.

These documents are ordered 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.

| Section        | Description                                                                                                                                                                                     | Example                                                                                                                                              |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Widgets        | Learn how to create Embedded or Package HTML Widgets using the Layout Editor, or dive into creating your own Module.                                                                            | Creating a new visualisation for use on a Layout. This may involve pulling data from a 3rd party.                                                    |
| Player Control | Discover what can be done player side including what information from the Player is available to a Widget, displaying real time data, how to control duration and how to send/receive webhooks. | Interactivity on a player, for example triggering content via a light sensor.                                                                        |
| Themes         | Change the look and feel of the CMS.                                                                                                                                                            | Alter the appearance of the CMS by changing colours and adding logos.                                                                                |
| Integrate      | Connect a 3rd party system by calling the Xibo API. Learn how to authenticate via oAuth and what API calls are available.                                                                       | A 3rd party will push content into Xibo. The Xibo Canva app is a good example of this.                                                               |
| Extend         | Extend the CMS with additional functionality. Learn about the CMS architecture and how to include your own PHP code via Middleware.                                                             | Pull content from a 3rd party or modify the CMS to show data in a different way on a dashboard. Write a dedicated API route for a 3rd party to call. |

{% hint style="info" %}

#### A note on Open Source

Full disclaimer we are not lawyers; 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, developing a module/module template using only the XML definitions supported by the CMS 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 which uses a PHP class, a Connector, or extending Xibo then your code does fall under the AGPLv3.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xibosignage.com/developer/introduction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
