mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2026-01-27 02:21:39 +00:00
54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# uCentral Schema
|
|
|
|
Collection of JSON schemas and ucode template (utpl) files used by uCentral for
|
|
validating the data model and rendering incoming configuration JSON into UCI
|
|
batch sequences.
|
|
|
|
This software is a part of the OpenWiFi
|
|
[AP NOS](https://github.com/Telecominfraproject/wlan-ap).
|
|
|
|
## Building
|
|
|
|
### Dependencies
|
|
|
|
In order to run the test cases you will need the following tools:
|
|
* [ucode](https://github.com/jow-/ucode)
|
|
* [ucentral-jsonschema](https://github.com/blogic/ucentral-jsonschema)
|
|
* jsonlint-php
|
|
* pip3 install jsonschema2md
|
|
* pip3 install json-schema-for-humans
|
|
* pip3 install python-json2yaml
|
|
|
|
### Unit testing
|
|
|
|
```sh
|
|
./run_tests.sh
|
|
```
|
|
|
|
### Documentation
|
|
|
|
[JSDoc](https://github.com/jsdoc/jsdoc) is used to generate API documentation
|
|
with a ucode transpiler (`ucode-transpiler.js`), configured by `jsdoc.conf.json`.
|
|
|
|
Additional JSON schema docs are generated using
|
|
[json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) via
|
|
the script `generate.sh`.
|
|
|
|
## Developer Notes
|
|
|
|
### Generated documentation
|
|
|
|
- JSDoc: https://ucentral.io/docs/
|
|
- `schema` object: http://ucentral.io/docs/ucentral-schema.html
|
|
- `state` object: https://ucentral.io/docs/ucentral-state.html
|
|
|
|
### Installed files
|
|
|
|
The following ucode scripts are installed to the AP:
|
|
- `schemareader.uc` - autogenerated schema reader
|
|
- `renderer/*` - renderer sources and templates
|
|
- `command/*` - predefined command implementations, e.g. invoked by
|
|
[ucentral-client](https://github.com/Telecominfraproject/wlan-ucentral-client)
|
|
- `system/*` - scripts to generate system information (e.g. state, telemetry,
|
|
health, capabilities)
|