Update README.md

Signed-off-by: Jeffrey Han <39203126+elludraon@users.noreply.github.com>
This commit is contained in:
Jeffrey Han
2022-10-19 18:26:41 -07:00
committed by John Crispin
parent a27c545eaf
commit 09db1ede4a

View File

@@ -1,9 +1,17 @@
# ucentral-json-schema
Collection of json schemas and utpl files used by ucentral for validating
the datamodel and rendering incoming cfg json into uci batch sequences.
# uCentral Schema
### Dependencies:
In order to run the test cases you will need the following tools
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
@@ -12,6 +20,34 @@ In order to run the test cases you will need the following tools
* pip3 install python-json2yaml
### Unit testing
```sh
$./run_tests.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)