> How does SPX manage content and assets?
SPX uses a file-based data management for all files related to SPX. It looks at the root SPX folder to find [[Documentation/Graphic Templates/Overview|templates]], assets, [[Documentation/Graphics Controller/Project Settings|projects]], and any other data needed for graphics playout.
The *content* of the productions done with SPX are stored into **Projects** and **Rundowns** on the filesystem as folders and files. SPX does not use databases. Using datafiles enables flexible workflows and even generating rundowns using a backend process of some kind.
---
## Template Management
All templates used in SPX (both [[Documentation/Graphic Templates/Formats/OGraf|OGraf]] and [[Documentation/Graphic Templates/Formats/HTML|HTML]]) needs to be inside the `ASSSETS/templates` folder. In there, we recommend using a structure shown below for optimal management of templates.
```
⏵ LOG
⏵ DATAROOT
⏷ ASSETS
┝━⏵ video
┝━⏵ media
┕━⏷ templates
┝━⏵ smartpx
┝━⏵ yle
┕━⏷ myCompany
┝━⏵ ProjectA
┕━⏷ ProjectB
┝━⏵ css
┝━⏵ js
┝━ Template1.html
┕━ Template2.html
```
For a more advanced deployment, we suggest a using a file server to host/manage all templates in an organization in one pool.
![[Pasted image 20251208131605.png]]
> diagram for managing a large deployment of SPX and managing files
## Project/Rundown Management
All [[Documentation/Graphics Controller/Project Settings|projects]] and [[Documentation/Graphics Controller/Rundown Settings|rundowns]] created in SPX live in the `DATAROOT` folder. Each rundown lives inside of a parent project.
```
⏵ LOG
⏵ ASSETS
⏷ DATAROOT
┝━⏵ Project A
┝━⏵ Project B
┕━⏷ Project C
┝━━ profile.json
┕━⏷ data
┝━ Rundown 1.json
┕━ Rundown 2.json
```
### Projects
**Projects** are subfolders in the dataroot folder. Each project can contain:
- Unlimited rundowns
- Multiple graphics [[Documentation/Graphic Templates/Overview|templates]]
- Project-specific settings (stored in `profile.json`)
- Custom controls ([[Documentation/Graphics Controller/Plugins & Extensions|project extras]])
- Project variables
- Static background images
SPX's DATAROOT -folder is for storing content. By default it's in SPX's root folder (such as C:/SPX/DATAROOT). This can be changed in the [[Documentation/Server/Configurations|SPX configuration file]].
![[Pasted image 20260128112508.png]]
Each project is a subfolder inside the DATAROOT -folder. And each project folder contains a profile.json -file which holds information such as:
- a list of templates assigned to the project
- settings of each template such as [[Documentation/Renderer/Layers|layer]] used (1..20)
- projectVariables (feature will most likely be released in v.1.1.3)
- project extras (plugins)
- reference to a library of custom js-commands.
In addition, Project-specific settings are stored in `profile.json` within each project folder, including:
- Assigned templates
- Project extras (custom controls)
- Project variables
- Background images
### Rundowns
**Rundowns** are JSON files in project subfolders. Each [[Documentation/Graphics Controller/Rundown Settings|rundown]] contains:
- A list of graphics items
- Item order and organization
- Content data for each item
Each rundown is **a file** in **DATAROOT/{projectName}/data/** -folder. Rundown file holds information about each rundown item and their content.
Each item in a rundown:
- References a template
- Contains field data (text, images, etc.)
- Has playout settings
- Can be edited and controlled
Project folders and Rundown files within them can be moved to other SPX installations, but templates must be available in same (relative) folder paths on both SPX installations.
![[Pasted image 20260128112846.png]]
All content in SPX is stored as files in the `dataroot` folder which is specified in the [[Documentation/Server/Configurations|configuration]]. Projects and rundowns are the core organizational structure of SPX.
---
## Read Next
- [[Documentation/Graphics Controller/Project Settings|Project Settings]] - Configure project-specific settings
- [[Documentation/Graphics Controller/Rundown Settings|Rundown Settings]] - Managing rundowns
- [[Documentation/Graphic Templates/Overview|Graphic Templates Overview]] - Understanding SPX templates
- [[Documentation/Server/Configurations|Server Configurations]] - Server configuration options
---