diff --git a/docs/content/apis/ddi_api.md b/docs/content/apis/ddi_api.md index c0ecd520f..0424f6386 100644 --- a/docs/content/apis/ddi_api.md +++ b/docs/content/apis/ddi_api.md @@ -4,9 +4,9 @@ parent: APIs weight: 82 --- -This API is based on HTTP standards and based on a polling mechanism. - The hawkBit [update server](https://github.com/eclipse/hawkbit) provides REST resources which are consumed by the device to retrieve software update tasks. +This API is based on HTTP standards and a polling mechanism. + {{% note %}} In DDI the target is identified using a **controllerId**. Controller is used as a term for the actual service/client on the device. That allows users to have in some cases even multiple clients on the same target for different tasks, e.g. Firmware update and App management. diff --git a/docs/content/apis/dmf_api.md b/docs/content/apis/dmf_api.md index dfbb9de40..318b16470 100644 --- a/docs/content/apis/dmf_api.md +++ b/docs/content/apis/dmf_api.md @@ -4,7 +4,8 @@ parent: API weight: 83 --- -Currently bodies of messages are based on JSON. The DMF API provides java classes which allows that the message body can be deserialized at runtime into a java object. Also java classes can be used to serialize java objects into JSON bodies to send a message to hawkBit. +The DMF API provides Java classes which allows that the message body can be deserialized at runtime into a Java object. Also Java classes can be used to serialize Java objects into JSON bodies to send a message to hawkBit. +Currently, bodies of messages are based on JSON. ## Basics diff --git a/docs/content/gettingstarted.md b/docs/content/gettingstarted.md index 1a4404e46..8acb86346 100755 --- a/docs/content/gettingstarted.md +++ b/docs/content/gettingstarted.md @@ -3,6 +3,21 @@ title: Getting Started weight: 20 --- +## On Sandbox + +We offer a sandbox installation that is free for everyone to try out hawkBit's [Management UI](/hawkbit/ui/), +[Management API](/hawkbit/apis/management_api/), and [Direct Device Integration API](/hawkbit/apis/ddi_api/):   +**[  https://hawkbit-demo-sandbox.eu-gb.mybluemix.net/UI/](https://hawkbit-demo-sandbox.eu-gb.mybluemix.net/UI/)** + +{{% warning %}} +The sandbox database will be reset from time to time. It is also not possible to upload any artifacts into the sandbox. Moreover, you are not permitted to store any kind of personal data in the sandbox. +{{% /warning %}} + +In addition, the following vendors offer free trial accounts for their Eclipse hawkBit compatible products: + +* [Bosch IoT Rollouts](https://www.bosch-iot-suite.com/rollouts/#plans) (by [Bosch Software Innovations GmbH](https://www.bosch-si.com/corporate/home/homepage.html)) + + ## From Docker Image ### Update server only @@ -18,24 +33,26 @@ $ git clone https://github.com/eclipse/hawkbit.git $ cd hawkbit/hawkbit-runtime/hawkbit-update-server/docker $ docker-compose up -d ``` +{{% note %}} +Requires Docker-Compose installed. +{{% /note %}} ## From Sources -### Clone and build hawkBit +### 1: Clone and build hawkBit ```sh $ git clone https://github.com/eclipse/hawkbit.git $ cd hawkbit $ mvn clean install ``` -### Start hawkBit -[update server](https://github.com/eclipse/hawkbit/tree/master/hawkbit-runtime/hawkbit-update-server) +### 2: Start hawkBit [update server](https://github.com/eclipse/hawkbit/tree/master/hawkbit-runtime/hawkbit-update-server) ```sh $ java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-#version#-SNAPSHOT.jar ``` -### Build hawkBit examples +### 3: Build hawkBit examples ```sh $ git clone https://github.com/eclipse/hawkbit-examples.git @@ -43,14 +60,12 @@ $ cd hawkbit-examples $ mvn clean install ``` -### Start hawkBit device simulator -[Device Simulator](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator) +### 4: Start hawkBit [Device Simulator](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator) ```sh $ java -jar ./hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar ``` -### Generate Getting Started data -[Example Management API Client](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator) +### 5: Generate Getting Started data with [Example Management API Client](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator) ```sh $ java -jar ./hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#.jar diff --git a/docs/content/ui.md b/docs/content/ui.md index ec9e374cc..e5cf6605b 100644 --- a/docs/content/ui.md +++ b/docs/content/ui.md @@ -111,13 +111,13 @@ Custom target filter overview and filter management. ### How to Filter The basic syntax to filter is: `fieldvalue fieldvalue <...>` + - `field`: is the name of the resource field. - `value`: is the value of the target field - ``: Are operators to do simple queries. Supported basic operators are: - `==` : equal - `!=` : not equal - Use `=IN=` for 'in' parameter.(Example: name=IN=(target1,target2). - - ``: Are operators to join simple queries: Supported composite operators are: - `and` - `or` diff --git a/docs/install-theme.sh b/docs/install-theme.sh old mode 100644 new mode 100755 diff --git a/docs/layouts/404.html b/docs/layouts/404.html deleted file mode 100755 index e69de29bb..000000000 diff --git a/docs/layouts/_default/list.html b/docs/layouts/_default/list.html index 7dfa867bc..cbaeb5f78 100755 --- a/docs/layouts/_default/list.html +++ b/docs/layouts/_default/list.html @@ -1,5 +1,9 @@ {{ partial "head" . }} +{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }} + {{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}} + {{ .Scratch.Set "repo_id" $repo_id }} +{{ end }}
diff --git a/docs/layouts/partials/drawer.html b/docs/layouts/partials/drawer.html index a34ac33d8..c09e39de9 100755 --- a/docs/layouts/partials/drawer.html +++ b/docs/layouts/partials/drawer.html @@ -21,12 +21,12 @@ {{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }} - {{ end }}
diff --git a/docs/layouts/partials/footer.html b/docs/layouts/partials/footer.html deleted file mode 100755 index c0017542f..000000000 --- a/docs/layouts/partials/footer.html +++ /dev/null @@ -1,74 +0,0 @@ -{{ if .IsPage }} -{{ if .Prev | or .Next }} - -{{ end }} -{{ end }} - -{{ if .IsHome }} -{{ if gt (len .Site.Pages) 2 }} - -{{ end }} -{{ end }} diff --git a/docs/layouts/partials/footer_js.html b/docs/layouts/partials/footer_js.html index 3a7df4270..8087fb6e7 100755 --- a/docs/layouts/partials/footer_js.html +++ b/docs/layouts/partials/footer_js.html @@ -43,7 +43,7 @@ {{ "/* Add permanent link next to the headers */" | safeJS }} var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6"); - for(i = 0; i < headers.length; i++) { + for(var i = 0; i < headers.length; i++) { var a = document.createElement("a"); a.setAttribute("class", "headerlink"); a.setAttribute("href", "#" + headers[i].id); diff --git a/docs/layouts/partials/header.html b/docs/layouts/partials/header.html index ac3214b2b..3929a8ee3 100755 --- a/docs/layouts/partials/header.html +++ b/docs/layouts/partials/header.html @@ -7,7 +7,7 @@
- {{ .Title }} + {{ .Title | safeHTML }}
diff --git a/docs/layouts/shortcodes/note.html b/docs/layouts/shortcodes/note.html deleted file mode 100755 index 73b276a7f..000000000 --- a/docs/layouts/shortcodes/note.html +++ /dev/null @@ -1,4 +0,0 @@ -
-

{{ .Get "title" }}

-

{{ printf "%s" .Inner | markdownify }}

-
\ No newline at end of file diff --git a/docs/layouts/shortcodes/warning.html b/docs/layouts/shortcodes/warning.html deleted file mode 100755 index 16f397835..000000000 --- a/docs/layouts/shortcodes/warning.html +++ /dev/null @@ -1,4 +0,0 @@ -
-

{{ .Get "title" }}

-

{{ printf "%s" .Inner | markdownify }}

-
\ No newline at end of file diff --git a/docs/static/css/hawkbit.css b/docs/static/css/hawkbit.css index 79a789e70..34a629012 100755 --- a/docs/static/css/hawkbit.css +++ b/docs/static/css/hawkbit.css @@ -13,6 +13,10 @@ margin-top: 0; } +.copyright p.notice { + margin-top: 27px; +} + .copyright div.logo { float: right; width: 20%;