From 37e0ce94649c698e66056b90f982fe44503e15b5 Mon Sep 17 00:00:00 2001
From: David Schwarzmann <david.schwarzmann@codecentric.de>
Date: Mon, 26 Jul 2021 17:03:16 +0200
Subject: [PATCH] feat(news): Introduce news to the documentation

---
 docs/getting-started/metadata.md |   2 +-
 sidebars.js => docs/sidebar.js   |  22 -------
 docusaurus.config.js             |  37 ++++++++++-
 news/sprint-report-cw-30.md      | 101 +++++++++++++++++++++++++++++++
 news/sprint-report.template      |  44 ++++++++++++++
 5 files changed, 180 insertions(+), 26 deletions(-)
 rename sidebars.js => docs/sidebar.js (78%)
 create mode 100644 news/sprint-report-cw-30.md
 create mode 100644 news/sprint-report.template

diff --git a/docs/getting-started/metadata.md b/docs/getting-started/metadata.md
index 603347c0f..b14fae504 100644
--- a/docs/getting-started/metadata.md
+++ b/docs/getting-started/metadata.md
@@ -1,6 +1,6 @@
 # Metadatensatz
 
-Metadaten sind ein zentraler Bestandteil einer Einreichung. Sie beschreiben die Struktur der Einreichung und dessen
+Metadaten sind ein zentraler Bestandteil einer Einreichung. Sie beschreiben die Struktur der Einreichung und deren
 Inhalte, wie beispielsweise Anlagen oder die Fachdaten. Zusätzlich können weitere Informationen über d:ie Verwaltungskund:in
 hinterlegt werden. Eine genaue Definition ist in der [Schema-Definition](../apis/metadata.mdx)
 zu finden. Im Folgenden werden nun die großen Bereiche, die im Metadatenschema aufgeführt werden, grob beschrieben.
diff --git a/sidebars.js b/docs/sidebar.js
similarity index 78%
rename from sidebars.js
rename to docs/sidebar.js
index ec3eb546f..7128f8c67 100644
--- a/sidebars.js
+++ b/docs/sidebar.js
@@ -69,28 +69,6 @@ module.exports = {
         },
       ],
     },
-    {
-      type: 'category',
-      label: 'Detailinformationen',
-      items: [
-        'details/encryption',
-        'details/crypto',
-        'details/status',
-        'details/event-log',
-        'details/schema-reference',
-        'details/pgp-export',
-        {
-          type: 'category',
-          label: 'Authentifizierung',
-          items: [
-            {
-              type: 'autogenerated',
-              dirName: 'details/authentication',
-            },
-          ],
-        },
-      ],
-    },
     {
       type: 'category',
       label: 'Weiteres',
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 13a315de9..c931e92c2 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -22,18 +22,24 @@ module.exports = {
       additionalLanguages: ['java', 'csharp'],
     },
     navbar: {
-      title: 'FIT-Connect Dokumentation',
+      title: 'FIT-Connect',
       logo: {
         alt: 'FITKO',
         src: '/images/logo-fitko.svg',
       },
       items: [
+        {to: '/', label: 'Dokumentation', position: 'left'},
+        {to: '/news', label: 'News', position: 'left'},
+        // {to: '/concepts', label: 'Konzepte', position: 'left'},
+        // {to: '/operations', label: 'Betriebshandbuch', position: 'left'},
+
         /*{
           type: 'docsVersionDropdown',
           position: 'right',
           dropdownActiveClassDisabled: true,
           docsPluginId: 'default',
-        },*/
+        }
+        {to: '/portal/', label: 'Self-Service-Portal', position: 'right'},*/
       ],
     },
     footer: {
@@ -46,7 +52,7 @@ module.exports = {
       '@docusaurus/preset-classic',
       {
         docs: {
-          sidebarPath: require.resolve('./sidebars.js'),
+          sidebarPath: require.resolve('./docs/sidebar.js'),
           editUrl: ({ version, versionDocsDirPath, docPath }) =>
             `https://git.fitko.de/fit-connect/docs/-/edit/${gitBranch}/${versionDocsDirPath}/${docPath}`,
           routeBasePath: '/',
@@ -54,7 +60,32 @@ module.exports = {
         theme: {
           customCss: require.resolve('./src/css/custom.css'),
         },
+        blog: {
+          path: './news',
+          routeBasePath: 'news',
+          blogSidebarTitle: 'Alle News',
+          blogDescription: 'News bezüglich FIT-Connect von FITKO',
+          blogTitle: 'News',
+          showReadingTime: false,
+          feedOptions: {
+            type: 'all',
+            language: 'de',
+            copyright: `Copyright © ${new Date().getFullYear()} FITKO`,
+          },
+        },
       },
     ],
   ],
+  //
+  // plugins: [
+  //   [
+  //     '@docusaurus/plugin-content-docs',
+  //     {
+  //       id: 'concepts',
+  //       path: 'concepts',
+  //       routeBasePath: 'concepts',
+  //       sidebarPath: require.resolve('./concepts/sidebar.js'),
+  //     },
+  //   ]
+  // ]
 }
diff --git a/news/sprint-report-cw-30.md b/news/sprint-report-cw-30.md
new file mode 100644
index 000000000..1b62d29d2
--- /dev/null
+++ b/news/sprint-report-cw-30.md
@@ -0,0 +1,101 @@
+---
+title: Sprintwechsel KW30
+tags: [sprint-report, roadmap-update]
+---
+
+Im Folgenden wollen wir euch ein kurzes Update bzgl. unseres Sprints geben.
+Hierbei wollen wir auf die Stories eingehen, die wir bearbeitet haben, sowie den Stand der noch offenen Stories durchgeben.
+Falls relevant soll auch ein entsprechendes Update der Roadmap kommuniziert werden.
+
+Dieses Format soll nun bei jedem Sprintwechsel veröffentlicht werden.
+
+## Stories
+
+### Umgesetzt
+
+#### Umsetzung des OAuth-Konzeptes
+
+Ein neues OAuth Konzept soll umgesetzt werden, das detaillierte Berechtigungen für den API-Zugriff ermöglicht und eine
+höhere Sicherheit für die Nutzung von Access Token gewährleistet.
+
+Die Umsetzung des neuen OAuth-Konzeptes verzögerte die Bereitstellung der Testinfrastruktur. Aufgrund von
+kurzfristigen Änderungen im Konzept mussten und müssen wir noch etwas umbauen. Der Großteil des Konzeptes ist bereits
+abgeschlossen und die wenigen Nacharbeiten werden im aktuellen Sprint bearbeitet und dokumentiert.
+
+#### Neues Metadatenschema entwickeln
+
+Ein Metadatensatz beschreibt die Struktur einer Einreichung und deren Inhalte, wie beispielsweise Anlagen oder Fachdaten.
+Das bisherige Metadatenschema für Einreichungen wurde aus `beta7` komplett überarbeitet:
+
+- Es ist als JSON-Schema beschrieben und orientiert sich an der [JSON Schema Spezifikation 2020-12](https://json-schema.org/specification-links.html#2020-12).
+- Die Nutzung und die Struktur des Metadatenschemas wurden in der Dokumentation erläutert.
+- Es besteht primär aus den fünf Bereichen Authentifizierungsinformationen, Inhaltsstruktur,
+  Bezahlinformationen, Verwaltungsleistung und Rückkanal.
+
+:::caution Hinweis
+Das Metadatenschema ist aktuell in der Version `1.0.0-rc.2` verfügbar und wird zukünftig unabhängig vom Zustelldienst
+versioniert, um größtmögliche Flexibilität und Erweiterbarkeit zu erzielen.
+:::
+
+#### Info-Endpunkt liefert die falsche Version
+
+Wir hatten im Zustelldienst den Fehler, dass über den Endpunkt `/info` die falsche Version ausgegeben wurde. Dieses Problem
+wurde behoben und sollte nicht mehr auftreten.
+
+#### Erstellung eines Konzepts zur Ableitung eines JSON Schemas aus einem FIM Stammdatenschema
+
+Aktuell werden aus einem Stammdatenschema einer Antragsleistung, einer XML-Datei zur Generierung von Anträgen,
+in FIM ein XML-Schema für die Datenübertragung abgeleitet. Dieses Schema wird umgangssprachlich XFall Schema bzw.
+FIM/XFall Schema genannt.
+
+Durch die Verbreitung von JSON wurde für Fachdaten auf FIM Basis eine JSON Schema basierte Variante entwickelt. Dieses soll
+kurzfristig als Zusatzoption ermöglicht werden und langfristig als Ersatz für das bestehende XML Schema platziert werden.
+
+Es wurde erprobt und dokumentiert, wie ein solches JSON-Schema allgemein und über eine eigene Software abzuleiten ist, sodass
+dies zukünftig automatisiert durchgeführt werden kann.
+
+### Noch offen
+
+#### Event Log der Submission
+
+Der bisherige Ãœbermittlungsstatus wird durch einen Security Event Log ersetzt, der aus signierten Security Event Tokens
+nach [RFC 8417](https://datatracker.ietf.org/doc/html/rfc8417) besteht und die einzelnen Ãœbermittlungsschritte beweissicher
+dokumentiert. Die jeweiligen Security Event Tokens sind durch die jeweils verantwortlichen Systeme (Zustelldienst bzw.
+das empfangende System) zu erstellen und zu signieren. Dieser Security Event Log kann über die API von beiden Parteien
+abgerufen werden und dient späteren Nachweisen über die korrekte Zustellung.
+
+Die Implementierung des Security Event Logs ist größten teils abgeschlossen, muss jedoch noch final getestet und
+dokumentiert werden.
+
+#### Schlüsselverwaltung des Zustelldienstes
+
+Aufbauend auf die vorherige Thematik des Event Logs benötigt ein Zustelldienst ein öffentliches "JSON Web Key (JWK)"-Set
+nach [RFC 7517](https://tools.ietf.org/html/rfc7517), worin er seine öffentlichen Schlüssel zur Verfügung stellt, mit denen
+die Signatur eines Security Event Tokens überprüft werden kann.
+
+Hier fehlt noch die Dokumentation der Erreichbarkeit des JWK-Sets und wie dieses angewendet werden kann.
+
+#### Implementierung des neuen Statusmodells
+
+Ebenfalls im Kontext der Umsetzung des Event Logs ist die Implementierung des neuen Statusmodells anzusiedeln. Eine
+Einreichung wird zukünftig einen Status innehaben, der über definierte Events in Form von Security Event Tokens verändert
+werden kann.
+
+Die Implementierung des neuen Statusmodells wurde im Rahmen der Umbauten durch den Event Log abgeschlossen und muss im
+Rahmen dieser noch mit dokumentiert werden.
+
+#### `schema` in `submissionSchema` umbenennen
+
+Als Follow-Up aus einem vorherigen Sprint wurde beschlossen, dass der technische Bezeichner der "Fachschemareferenz"
+an verschiedensten Stellen von `schema` zu `submissionSchema` geändert wird.
+
+Die Umsetzung hiervon konnte noch nicht begonnen werden und wird daher in einem der nächsten Sprints angegangen.
+
+## Roadmap Update
+
+Unser Ziel eine Vorabversion der API und ein frei zugängliches Testsystem bereitzustellen verschiebt sich auf Anfang August.
+
+---
+
+Bei Fragen, Hinweisen oder Wünschen freuen wir uns gerne über Feedback. Dieses bitte über
+unseren [Service Desk](https://jira.fjd.de/servicedesk/customer/portal/5) einkippen.
diff --git a/news/sprint-report.template b/news/sprint-report.template
new file mode 100644
index 000000000..6cb404be0
--- /dev/null
+++ b/news/sprint-report.template
@@ -0,0 +1,44 @@
+---
+title: Sprintwechsel KW
+tags: [sprint-report, roadmap-update]
+draft: true
+---
+
+Im Folgenden wollen wir euch ein kurzes Update bzgl. unseres Sprints geben.
+Hierbei wollen wir auf die Stories eingehen, die wir bearbeitet haben, sowie den Stand der noch offenen Stories durchgeben.
+
+Falls relevant soll auch ein entsprechendes Update der Roadmap kommuniziert werden.
+
+Dieses Format soll nun bei jedem Sprintwechsel veröffentlicht werden.
+
+## Stories
+
+### Umgesetzt
+
+#### <Story #1>
+
+...
+
+#### <Story #2>
+
+...
+
+### Noch offen
+
+
+#### <Story #1>
+
+...
+
+#### <Story #2>
+
+...
+
+## Roadmap Update
+
+...
+
+---
+
+Bei Fragen, Hinweisen oder Wünschen freuen wir uns gerne über Feedback. Dieses bitte über
+unseren [Service Desk](https://jira.fjd.de/servicedesk/customer/portal/5) einkippen.
-- 
GitLab