From f153c80b4a5db65dd09024f20272ec3b06182104 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Wed, 17 Nov 2021 21:30:30 +0100
Subject: [PATCH] Update RELEASE_GUIDELINES

---
 CHANGELOG.md            |  5 +++++
 DEPENDENCIES.md         | 33 +++++++++++++++++++++++++++++----
 FEATURES.md             | 21 +++++++++++++++++++++
 README_SETUP.md         | 21 +--------------------
 RELEASE_GUIDELINES.md   |  2 ++
 src/doc/DEPENDENCIES.md |  1 +
 src/doc/index.rst       |  1 +
 7 files changed, 60 insertions(+), 24 deletions(-)
 create mode 100644 FEATURES.md
 create mode 120000 src/doc/DEPENDENCIES.md

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab1f09f0..ca41b828 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,6 +28,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Deprecated
 
+* Legacy XML/HTTP API (also known as the REST API). The API will not be removed
+  until the web interface (caosdb-webui) and the python client libraries have
+  been updated and freed from any dependencies. However, new clients should not
+  implement this API anymore.
+
 ### Removed
 
 ### Fixed
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 6159dcd8..2f2967d0 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -1,5 +1,30 @@
-* caosdb-mysqlbackend == 5.0.0
-* Java 11
-* Apache Maven >= 3.6.0
-* make >= 4.2.0
+# Dependencies
+
+## For Building and Running the Server
+
+* `>=caosdb-proto 0.1.0`
+* `>=caosdb-mysqlbackend 5.0.0`
+* `>=Java 11`
+* `>=Apache Maven 3.6.0`
+* `>=Make 4.2`
+* `libpam` (if PAM authentication is required)
 * More dependencies are being pulled and installed automatically by Maven. See the complete list of dependencies in the [pom.xml](pom.xml)
+
+## For Deploying a Web User Interface (optional)
+
+* `>=caosdb-webui 0.4.`
+
+## For Building the Documentation (optional)
+
+* `>=Python 3.8`
+* `>=pip 21.0.0`
+
+## For Server-side Scripting (optional)
+
+* `>=Python 3.8`
+* `>=pip 21.0.0`
+* `openpyxl` (for XLS/ODS export)
+
+## Recommended Packages
+
+* `openssl` (if a custom TLS certificate is required)
diff --git a/FEATURES.md b/FEATURES.md
new file mode 100644
index 00000000..a5341f35
--- /dev/null
+++ b/FEATURES.md
@@ -0,0 +1,21 @@
+# Features
+
+* The CaosDB Server implements a CaosDB GRPC API Endpoint (v0.1.0)
+  Authentication is supported via a Basic scheme, using the well-known
+  "authentication" header.
+  Notable limitations of the current implementation of the API:
+  * It is currently not possible to mix retrievals
+    (caosdb.entity.v1.RetrieveRequest) with any other transaction type - so
+    transaction are either read-only or write-only. The server throws an error
+    if it finds mixed read/write transactions.
+  * It is currently not possible to have more that one query
+    (caosdb.entity.v1.Query) in a single transaction. The server throws an
+    error if it finds more than one query.
+* Legacy XML/HTTP API (Deprecated)
+* Deployment of caosdb-webui (>=v0.4.1)
+* Server-side Scripting API (v0.1)
+* CaosDB Query Language Processor
+* CaosDB FileSystem
+* User Management, Authentication and Authorization
+  * Internal authentication service
+  * Authentication via an external service.
diff --git a/README_SETUP.md b/README_SETUP.md
index d738ad13..5065e338 100644
--- a/README_SETUP.md
+++ b/README_SETUP.md
@@ -5,26 +5,7 @@ more.
 
 ## Requirements
 
-### CaosDB Packages
-
-* caosdb-webui=0.2.1
-* caosdb-mysqlbackend=3.0
-
-### Third-party Software
-
-* `>=Java 8`
-* `>=Apache Maven 3.0.4`
-* `>=Python 3.4`
-* `>=pip 9.0.1`
-* `>=git 1.9.1`
-* `>=Make 3.81`
-* `>=Screen 4.01`
-* `>=MySQL 5.5` (better `>=5.6`) or `>=MariaDB 10.1`
-* `libpam` (if PAM authentication is required)
-* `unzip`
-* `openpyxl` (for XLS/ODS export)
-* `openssl` (if a custom TLS certificate is required)
-- `easy-units` >= 0.0.1    https://gitlab.com/timm.fitschen/easy-units
+See [DEPENDENCIES.md](DEPENDENCIES.md).
 
 #### Install the requirements on Debian
 
diff --git a/RELEASE_GUIDELINES.md b/RELEASE_GUIDELINES.md
index 5c1fd68d..4b918532 100644
--- a/RELEASE_GUIDELINES.md
+++ b/RELEASE_GUIDELINES.md
@@ -31,3 +31,5 @@ guidelines of the CaosDB Project
 
 8. Update the version property in [pom.xml](./pom.xml) for the next
    developlement round (with a `-SNAPSHOT` suffix).
+
+9. Add a gitlab release in the respective repository.
diff --git a/src/doc/DEPENDENCIES.md b/src/doc/DEPENDENCIES.md
new file mode 120000
index 00000000..28771e4d
--- /dev/null
+++ b/src/doc/DEPENDENCIES.md
@@ -0,0 +1 @@
+../../DEPENDENCIES.md
\ No newline at end of file
diff --git a/src/doc/index.rst b/src/doc/index.rst
index 21fd891c..67a9e365 100644
--- a/src/doc/index.rst
+++ b/src/doc/index.rst
@@ -13,6 +13,7 @@ Welcome to caosdb-server's documentation!
    Query Language <CaosDB-Query-Language>
    administration
    Development <development/devel>
+   Dependencies <DEPENDENCIES>
    specification/index.rst
    Glossary
    API documentation<_apidoc/packages>
-- 
GitLab