> 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 running Xibo](https://docs.xibosignage.com/), 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.

<table><thead><tr><th width="149">Section</th><th width="415.666748046875">Description</th><th>Example</th></tr></thead><tbody><tr><td>Widgets</td><td>Learn how to create Embedded or Package HTML Widgets using the Layout Editor, or dive into creating your own Module.</td><td>Creating a new visualisation for use on a Layout. This may involve pulling data from a 3rd party.</td></tr><tr><td>Player Control</td><td>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.</td><td>Interactivity on a player, for example triggering content via a light sensor.</td></tr><tr><td>Integrate</td><td>Connect a 3rd party system by calling the Xibo API. Learn how to authenticate via oAuth and what API calls are available.</td><td>A 3rd party will push content into Xibo. The Xibo Canva app is a good example of this.</td></tr></tbody></table>

{% hint style="danger" %}

### Deprecation notice - Theme and custom code changes in v4.5

4.5 CMS has a new React/Tailwind CSS front end which means we need to retire the old "PHP templating" available from inside the `web/theme/` folder. Themes purchased from Xibo will be automatically updated for the new approach and available to download in My Account. Instructions for applying them can be found in our knowledge base: [Applying a White label to a CMS in a docker environment](/kb/white-label-application/applying-a-white-label-to-a-cms-in-a-docker-environment.md).

Future versions of the CMS will include a branding feature from inside the CMS itself, making these changes easier to manage.

Custom code (deployed in the `custom/` folder will continue to function, except where it relies on PHP templating (twig). The following things are no longer supported:

* Custom connectors
* Custom reports (pending refactor)
* Custom twig views
* Custom display profiles
  {% endhint %}

{% hint style="warning" %}

### Deprecation notice - extending the PHP code will no longer be available after 4.5

Xibo has for a long time let advanced users extend the CMS by dropping custom PHP into the codebase. A stop-gap between running a standard release and maintaining your own fork. **We're removing it.**

In practice, that mechanism is a fork[^1] in disguise. Code dropped into the codebase runs with full application privileges, sits outside the release's review and integrity checks, and gets overwritten on upgrade. It should carry the maintenance burden and security exposure of maintaining your own fork, but oftentimes doesn't, and it comes without an upgrade path.&#x20;

We don't think this capability belongs in the product, and is one we can't support or diagnose against a standard release.

Everything it was used for now has a first-class, supported home. Xibo ships a fully-covered API, a Widget and Data ingest toolset for custom content and data sources, and comprehensive Display-side tooling. There is enough to build what you need without touching core code, and without inheriting the upgrade and security costs that came with the old approach.

If you need something we don't have, we welcome the feedback (hit the button in the CMS), and of course you are always welcome to fork the code on GitHub.
{% endhint %}

[^1]: a developer term for creating your own version of the code


---

# 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.
