From 74f1728619def7c371cb47f66966158421d0f979 Mon Sep 17 00:00:00 2001 From: Olof hagsand Date: Sun, 7 May 2017 19:03:10 +0200 Subject: [PATCH] docs --- README.md | 20 ++++++++++++-------- datastore/README.md | 16 +++++++++------- doc/FAQ.md | 1 + test/README.md | 2 +- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4712f574..a85e8c55 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ Clixon is an automatic configuration manager where you generate interactive CLI, NETCONF, RESTCONF and embedded databases with transaction support from a YANG specification. -![clixon sdk](doc/clixon_example_sdk.png) - Table of contents ================= * [Documentation](#documentation) @@ -13,7 +11,7 @@ Table of contents * [Dependencies](#dependencies) * [Licenses](#licenses) * [Background](#background) - * [Yang and XML](#yang-and-xml) + * [Clixon SDK](#SDK) Documentation ============= @@ -21,9 +19,9 @@ Documentation - [XML datastore](datastore/README.md) - [Netconf support](apps/netconf/README.md) - [Restconf support](apps/restconf/README.md) -- [Reference manual](http://www.clicon.org/doxygen/index.html) (Better: cd doc; make doc) +- [Reference manual](http://www.clicon.org/doxygen/index.html) (Note the link may not be up-to-date. It is better to build your own: cd doc; make doc) - [Routing example](example/README.md) -- [Clicon project page](http://www.clicon.org) +- [Clicon and Clixon project page](http://www.clicon.org) - [Tests](test/README.md) Installation @@ -41,7 +39,7 @@ generated CLI and configuration interface. Dependencies ============ -Clixon is dependend on the following packages +Clixon is dependend on the following software packages, which need to exist on the target machine. - [CLIgen](http://www.cligen.se) is required for building Clixon. If you need to build and install CLIgen: ``` @@ -53,6 +51,8 @@ to build and install CLIgen: - Fcgi (if restconf is enabled) - Qdbm key-value store (if keyvalue datastore is enabled) +There is no yum/apt/ostree package for Clixon yet (please help?) + Licenses ======== Clixon is dual license. Either Apache License, Version 2.0 or GNU @@ -73,8 +73,12 @@ where the legacy key specification has been replaced completely by YANG and using XML as configuration data. This means that legacy Clicon applications do not run on Clixon. -YANG and XML -============ +SDK +=== + +clixon sdk + +The figure shows the SDK runtime of Clixon. YANG and XML is at the heart of Clixon. Yang modules are used as a specification for handling XML configuration data. The spec is also diff --git a/datastore/README.md b/datastore/README.md index 774e3a92..a3283c6e 100644 --- a/datastore/README.md +++ b/datastore/README.md @@ -1,9 +1,9 @@ # Clixon datastore -The Clixon datastore is a stand-alone XML based datastore used by -Clixon. The idea is to be able to use different datastores. There is -currently a key-value plugin based on qdbm and a plain text-file -datastore. +The Clixon datastore is a stand-alone XML based datastore. The idea is +to be able to use different datastores backends with the same +API. There is currently a key-value plugin based on qdbm and a plain +text-file datastore. The datastore is primarily designed to be used by Clixon but can be used separately. @@ -42,8 +42,10 @@ To use the API, a client needs the following: - A directory where to store databases - A yang specification. This needs to be parsed using the Clixon yang_parse() method. -A client calling the API needs to (1)load a plugin and (2)connect to a -datastore. You can connect to several datastores, even concurrently, +A client calling the API needs to: +1. Load a plugin and +2. Connect to a datastore. +You can connect to several datastores, even concurrently, but in practice in Clixon, you connect to a single store. After connecting to a datastore, you can create and modify databases @@ -70,7 +72,7 @@ You can read a database with xmldb_get() and modify a database with xmldb_put(), and xmldb_copy(). A typical datastore session can be as follows, see the source code of -datastore_client.c for a more elaborate example. +[datastore_client.c](datastore_client.c) for a more elaborate example. ``` h = clicon_handle_init(); diff --git a/doc/FAQ.md b/doc/FAQ.md index f11b497d..8a57496f 100644 --- a/doc/FAQ.md +++ b/doc/FAQ.md @@ -124,6 +124,7 @@ clixon_netconf -qf /usr/local/etc/routing.conf Routing notification]]>]]> Routing notification]]>]]> ... +``` ## I want to program. How do I extend the example? - routing.conf.local - Override default settings diff --git a/test/README.md b/test/README.md index 2267552d..d58863c2 100644 --- a/test/README.md +++ b/test/README.md @@ -2,7 +2,7 @@ This directory contains testing code for clixon and the example routing application: -- clixon A top-level script clones clixon in /tmp and starts all.sh. You can _copy_ this file (review it) and place as cron script +- clixon A top-level script clones clixon in /tmp and starts all.sh. You can copy this file (review it first) and place as cron script - all.sh Run through all tests named 'test*.sh' in this directory. Therefore, if you place a test in this directory matching 'test*.sh' it will be run automatically. - test1.sh CLI tests - test2.sh Netconf tests