diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..78182bab
Binary files /dev/null and b/.DS_Store differ
diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml
new file mode 100644
index 00000000..a6b1c718
--- /dev/null
+++ b/.github/workflows/link-check.yml
@@ -0,0 +1,19 @@
+name: Check Links
+
+on:
+ pull_request_target:
+ types: [opened, synchronize, reopened]
+
+jobs:
+ check-links:
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: write
+ contents: read
+ steps:
+ - uses: actions/checkout@v5
+
+ - uses: lycheeverse/lychee-action@v2
+ id: lychee
+ with:
+ fail: true
diff --git a/.lycheeignore b/.lycheeignore
new file mode 100644
index 00000000..7f8e2501
--- /dev/null
+++ b/.lycheeignore
@@ -0,0 +1,16 @@
+.*%7B.*%7D
+
+https?://receipts(-sandbox)?\.fiskaltrust\.cloud/.*
+https?://pos-api(-sandbox)?\.fiskaltrust\.cloud/.*
+https?://helipad(-sandbox)?\.fiskaltrust\.cloud/.*
+https?://packages(-sandbox)?\.fiskaltrust\.cloud/.*
+https?://signaturcloud(-sandbox)?\.fiskaltrust\.../.*
+https?://rksv(-sandbox)?\.fiskaltrust\.at/.*
+https?://signing(-sandbox)?\.fiskaltrust\.at/.*
+
+https?://github\.com/fiskaltrust/fiskaltrust-instore-app
+https?://github\.com/fiskaltrust/service-possystem-api
+
+https?://next\.orderman\.com
+https://www.raspberrypi.com/products/raspberry-pi-2-model-b
+https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000044983827#:~:text=La%20taxe%20est%20exigible%20%3A,%C3%A0%20concurrence%20du%20montant%20encaiss%C3%A9.
\ No newline at end of file
diff --git a/README.md b/README.md
index 31b0d94d..0c898de9 100644
--- a/README.md
+++ b/README.md
@@ -32,19 +32,18 @@ Anchors can be created like this: `Referenced Item
### Tools
-#### markdown-link-check
-With [markdown-link-ckeck](https://www.npmjs.com/package/markdown-link-check) you can check a markdown file for incorrect links.
+#### lychee
+With [lychee](https://github.com/lycheeverse/lychee) you can check markdown files for broken links.
usage:
```
-markdown-link-check ./general/general.md
+lychee ./general/general.md
```
-> Please note that this tool does not find dead references inside a file. Only dead references to nonexisting files / unreachable URLs.
## Further public fiskaltrust repositories
The following list shows further fiskaltrust repositories that are important for our customers.
-| **Github repo** | **Goal/Purpose** | **Content** |
-|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [fiskaltrust/productdescription-de-doc](https://github.com/fiskaltrust/productdescription-de-doc) | Goal of this repository is to help our customers to get familiar with our products and services for the german market. It should also help our customers apply the products and services described here. | The repository contains descriptions of the offered products and services by fiskaltrust for the german market. It also contains accompanying materials such as how-to guides, price lists, concepts, and presentations that help our customers integrate the offered products and services into their products and services. |
-| [fiskaltrust/faq](https://github.com/fiskaltrust/faq) | The purpose of this repository is to provide information on our customers' frequent questions or concerns. | The repo contains unsorted but tagged question and answer sets. If the answer's content already exists in another public fiskaltrust repository, that content is linked in the solution. The content of this repo is also rendered and presented in the [docs.fiskaltrust](https://docs.fiskaltrust.cloud/doc/faq/qna/market-de.html) portal. |
+| **Github repo** | **Goal/Purpose** | **Content** |
+|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [fiskaltrust/productdescription-de-doc](https://github.com/fiskaltrust/productdescription-de-doc) | Goal of this repository is to help our customers to get familiar with our products and services for the german market. It should also help our customers apply the products and services described here. | The repository contains descriptions of the offered products and services by fiskaltrust for the german market. It also contains accompanying materials such as how-to guides, price lists, concepts, and presentations that help our customers integrate the offered products and services into their products and services. |
+| [fiskaltrust/faq](https://github.com/fiskaltrust/faq) | The purpose of this repository is to provide information on our customers' frequent questions or concerns. | The repo contains unsorted but tagged question and answer sets. If the answer's content already exists in another public fiskaltrust repository, that content is linked in the solution. The content of this repo is also rendered and presented in the [docs.fiskaltrust](https://docs.fiskaltrust.cloud) portal. |
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
deleted file mode 100644
index 6347de97..00000000
--- a/azure-pipelines.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-trigger:
-- master
-
-pool:
- vmImage: 'ubuntu-latest'
-
-steps:
-- checkout: self
- clean: true
-
-- task: NodeTool@0
- inputs:
- checkLatest: true
- versionSpec: '20.17.0'
- displayName: 'Install Node.js'
-
-- script: 'npm install -g markdown-link-check@3.11.2'
- displayName: 'Install markdown-link-check'
-
-- powershell: |
- Get-ChildItem -Path "./doc/" -Filter "*.md" -Recurse | Where-Object { $_.FullName -inotmatch "i18n" } | ForEach-Object {
- $path = Resolve-Path -Path $_.FullName -Relative
- if(!($path -match "\\\.[^\.\\]+")) {
- markdown-link-check -c ./markdown-link-check.config.json -q $path
- }
- }
- failOnStderr: true
- errorActionPreference: continue
- displayName: 'Check links'
diff --git a/cover.html b/cover.html
deleted file mode 100644
index 1ac2625d..00000000
--- a/cover.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
- fiskaltrust.POS
- Interface Description
- Version [[VERSION]], updated on [[TODAY]]
-
-
-
-
\ No newline at end of file
diff --git a/doc/general/communication/communication.md b/doc/general/communication/communication.md
index df6520ec..6e60168c 100644
--- a/doc/general/communication/communication.md
+++ b/doc/general/communication/communication.md
@@ -50,8 +50,8 @@ With the Middleware's _helper_ topology, it is possible to connect the Middlewar
### Summary
The following table displays which protocols are currently available in which country:
-| Communication service | AT | DE | FR |IT |
-|-----------------------|----------------------------|---------------|----------------------------|----------------------------|
+| Communication service | AT | DE | FR | IT |
+|-----------------------|----------------------------|---------------|----------------------------|---------------|
| **gRPC** | not yet supported | **supported** | not yet supported | **supported** |
| **REST** | **supported (via helper)** | **supported** | **supported (via helper)** | **supported** |
| **WCF** | **supported** | **supported** | **supported** | **supported** |
@@ -61,12 +61,10 @@ As mentioned above, the Middleware versions will be unified in the upcoming vers
### Sample implementations
Our latest samples, which demonstrate the communication protocols we recommend for the respective languages, are available here:
-
-
-
-
-
-
-
+
+| C# | Java | Node.js | Android | Postman |
+|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
+| :--: | :----: | :-------: | :-------: | :-------: |
+| [](https://github.com/fiskaltrust/middleware-demo-dotnet) | [](https://github.com/fiskaltrust/middleware-demo-java) | [](https://github.com/fiskaltrust/middleware-demo-node) | [](https://github.com/fiskaltrust/middleware-demo-android) | [](https://github.com/fiskaltrust/middleware-demo-postman) |
Additionally, other samples (including legacy ones) can be found in our [demo repository](https://github.com/fiskaltrust/demo).
diff --git a/doc/general/communication/images/Android_robot.svg.png b/doc/general/communication/images/Android_robot.svg.png
new file mode 100644
index 00000000..1f63b4e3
Binary files /dev/null and b/doc/general/communication/images/Android_robot.svg.png differ
diff --git a/doc/general/communication/images/C_Sharp_wordmark.svg.png b/doc/general/communication/images/C_Sharp_wordmark.svg.png
new file mode 100644
index 00000000..5a81e3f7
Binary files /dev/null and b/doc/general/communication/images/C_Sharp_wordmark.svg.png differ
diff --git a/doc/general/communication/images/Java_cup.svg.png b/doc/general/communication/images/Java_cup.svg.png
new file mode 100644
index 00000000..2ae0f800
Binary files /dev/null and b/doc/general/communication/images/Java_cup.svg.png differ
diff --git a/doc/general/communication/images/Node.js_logo.svg.png b/doc/general/communication/images/Node.js_logo.svg.png
new file mode 100644
index 00000000..9c2abbf7
Binary files /dev/null and b/doc/general/communication/images/Node.js_logo.svg.png differ
diff --git a/doc/general/communication/images/postman-logo.png b/doc/general/communication/images/postman-logo.png
new file mode 100644
index 00000000..70d40098
Binary files /dev/null and b/doc/general/communication/images/postman-logo.png differ
diff --git a/doc/general/operation-modes/operation-modes.md b/doc/general/operation-modes/operation-modes.md
index 8af0e47b..ce67546e 100644
--- a/doc/general/operation-modes/operation-modes.md
+++ b/doc/general/operation-modes/operation-modes.md
@@ -12,19 +12,19 @@ The fiskaltrust.Middleware can be operated in following operational environments
Identification of the operational environment from the perspective of a POS operator:
-| hosted in-house | hosted in a different building | dedicated hardware resource | privately shared (hardware) resource | operational environment |
-| --------------- | -------------------------------------- | ------------------------------------------------------------ | ------------------------------------------- | ----------------------- |
+| hosted in-house | hosted in a different building | dedicated hardware resource | privately shared (hardware) resource | operational environment |
+|-----------------|----------------------------------------|------------------------------------------------------------------|---------------------------------------------|-------------------------|
| **yes** | no | **yes**
*(e.g. on a cash register or local network server)* | no | **on-premise** |
-| no | **yes**
*(e.g. in a data center)* | **yes**
*(e.g. dedicated server)* | no | **off-premise** |
-| no | **yes** | no | **yes**
*(e.g. virtualised resources)* | **private cloud** |
+| no | **yes**
*(e.g. in a data center)* | **yes**
*(e.g. dedicated server)* | no | **off-premise** |
+| no | **yes** | no | **yes**
*(e.g. virtualised resources)* | **private cloud** |
Availability of supported operational environments is dependent on the market as shown in the following table:
-| operation mode | AT | DE | FR | IT |
-| ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| **on- & off-premise** | **available** | **available** | **available** | **available** |
-| **private Cloud**
*operated by a 3rd party* | **available** | **available** | not available
*generally supported, but not offered* | **available** |
-| **private Cloud**
*operated by fiskaltrust* | **available**
*(by the fiskaltrust product SignatureCloud)* | not available
*due to legal restrictions* * | **available**
*(by the fiskaltrust product ChaîneCloud)* | **available** |
+| operation mode | AT | DE | FR | IT |
+|--------------------------------------------------|------------------------------------------------------------------|--------------------------------------------------|---------------------------------------------------------------|---------------|
+| **on- & off-premise** | **available** | **available** | **available** | **available** |
+| **private Cloud**
*operated by a 3rd party* | **available** | **available** | not available
*generally supported, but not offered* | **available** |
+| **private Cloud**
*operated by fiskaltrust* | **available**
*(by the fiskaltrust product SignatureCloud)* | not available
*due to legal restrictions* * | **available**
*(by the fiskaltrust product ChaîneCloud)* | **available** |
*In Germany, the fiskaltrust.Middleware must always be operated as a local component of the electronic recording system. For example, if the electronic recording system runs on a local Windows based cash register, the fiskaltrust.Middleware has to be operated on the same operational environment (this could be the same machine, or a local network server). If the electronic recording system is a SaaS solution operated in the Cloud, the fiskaltrust.Middleware has to be operated in the same data center.
@@ -76,21 +76,21 @@ The Helipad Helper is used to support updates and configurations.
For the operation of the installed components of the fiskaltrust.Middleware following minimum hardware requirements are recommended:
-| Hardware | Minimum requirements |
-| --------------------------------- | ------------------------------------------------------------ |
-| **General hardware requirements** | The fiskaltrust.Middleware can be generally operated on a [Raspberry PI 2](https://www.raspberrypi.com/products/raspberry-pi-2-model-b/). |
-| **Local storage** | Around 500 MB (200 MB for the Middleware components + 200 MB reserved for update-packages); optional: storage for SQLite db (around 8-10Kb/receipt) |
-| **Hardware connectivity** | For the German market: USB, SD, Micro-SD or COM port for a local hardware-based security device (Technische Sicherheitseinrichtung, TSE).
For the Austrian market: USB port
|For the French market: not required |
-| **Internet connectivity** | Optional, but strongly recommended: (WIFI)modem for Internet connectivity to use software-security-, data as a service-, backup,- or configuration-/update services. |
+| Hardware | Minimum requirements | |
+|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
+| **General hardware requirements** | The fiskaltrust.Middleware can be generally operated on a [Raspberry PI 2](https://www.raspberrypi.com/products/raspberry-pi-2-model-b/). | |
+| **Local storage** | Around 500 MB (200 MB for the Middleware components + 200 MB reserved for update-packages); optional: storage for SQLite db (around 8-10Kb/receipt) | |
+| **Hardware connectivity** | For the German market: USB, SD, Micro-SD or COM port for a local hardware-based security device (Technische Sicherheitseinrichtung, TSE).
For the Austrian market: USB port
| For the French market: not required |
+| **Internet connectivity** | Optional, but strongly recommended: (WIFI)modem for Internet connectivity to use software-security-, data as a service-, backup,- or configuration-/update services. | |
#### Supported software platforms
For detailed information on supported platforms and its restrictions, please refer to the linked appendices of the applicable markets in the table below:
-| Platform | AT | DE | FR | IT |
-| --------------- | ------------- | ------------------------------------------------------------ | ------------- |------------- |
-| **Android** | not supported | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/android.md) | not supported | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/android.md) |
-| **Linux/macOS** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/linux.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/linux.md) |
+| Platform | AT | DE | FR | IT |
+|-----------------|---------------|--------------------------------------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------------------------------------|
+| **Android** | not supported | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/android.md) | not supported | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/android.md) |
+| **Linux/macOS** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/linux.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/linux.md) |
| **Windows** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/windows.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/windows.md) |
#### ARM Processor
@@ -99,13 +99,14 @@ From version 1.3.39 it is now possible to run the the fiskaltrust.Middleware on
SCU | ARM 64 bit | ARM 32 bit |
| --------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| **A-Trust Cloud TSE** | supported but not tested |supported but not tested |
-| **Deutsche Fiskal Cloud-TSE** | supported but not tested | supported but not tested |
-| **Diebold-Nixdorf Hardware-TSE** | not supported| not supported |
-| **Epson Hardware-TSE** |not supported | not supported |
-| **fiskaly Cloud-TSE** | supported but not tested |supported but not tested |
-| **Swissbit Cloud-TSE** |supported and tested | supported and tested|
-| **Swissbit Hardware-TSE** | unsupported | supported and tested |
+|-----------------------------------|--------------------------------------------------------------|--------------------------------------------------------------|
+| **A-Trust Cloud TSE** | supported but not tested | supported but not tested |
+| **Deutsche Fiskal Cloud-TSE** | supported but not tested | supported but not tested |
+| **Diebold-Nixdorf Hardware-TSE** | not supported | not supported |
+| **Epson Hardware-TSE** | not supported | not supported |
+| **fiskaly Cloud-TSE** | supported but not tested | supported but not tested |
+| **Swissbit Cloud-TSE** | supported and tested | supported and tested |
+| **Swissbit Hardware-TSE** | unsupported | supported and tested |
#### Launcher
diff --git a/docfx.json b/docfx.json
deleted file mode 100644
index effb8f24..00000000
--- a/docfx.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "metadata": [
- {
- "src": [
- {
- "files": [
- "**/*.sln",
- "src/DotnetNew/*.csproj"
- ],
- "exclude": [
- "**/bin/**",
- "**/obj/**"
- ],
- "src": "src"
- }
- ],
- "dest": "obj/api"
- }
- ],
- "pdf": {
- "keepRawFiles": true,
- "wkhtmltopdf": {
- "additionalArguments": "--dpi 200 --zoom 0.78 --footer-center [page] --margin-top 25 --margin-bottom 25 --margin-left 30 --margin-right 30 cover cover.html toc --xsl-style-sheet style.xsl"
- },
- "content": [
- {
- "files": [
- "doc/**/*.md",
- "*.md",
- "pdf/toc.yml"
- ],
- "exclude": [
- "**/bin/**",
- "**/obj/**",
- "_site_pdf/**",
- "**/toc.yml",
- "**/toc.md"
- ]
- },
- {
- "files": [
- "doc/toc.md"
- ]
- }
- ],
- "resource": [
- {
- "files": [
- "doc/**/images/**"
- ],
- "exclude": [
- "**/bin/**",
- "**/obj/**",
- "_site_pdf/**"
- ]
- }
- ],
- "template": [
- "pdf.default",
- "templates/fiskaltrust.pdf",
- "./DocFx.Plugins.PlantUml/template"
- ],
- "markdownEngineProperties": {
- "plantUml.outputFormat":"Svg",
- "plantUml.remoteUrl":"http://www.plantuml.com/plantuml/",
- "plantUml.renderingMode":"remote"
- },
- "dest": "_site_pdf"
- }
-}
\ No newline at end of file
diff --git a/lychee.toml b/lychee.toml
new file mode 100644
index 00000000..6119a25e
--- /dev/null
+++ b/lychee.toml
@@ -0,0 +1 @@
+extensions = ["md", "mdx"]
diff --git a/markdown-link-check.config.json b/markdown-link-check.config.json
deleted file mode 100644
index a16d56dd..00000000
--- a/markdown-link-check.config.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "ignorePatterns": [
- { "pattern": "^https?://signaturcloud\\.fiskaltrust\\.at/?$" },
- { "pattern": "^https?://signaturcloud\\.fiskaltrust\\.fr/?$" },
- { "pattern": "^https?://signing\\.fiskaltrust\\.at.*" },
- { "pattern": "^https?://signing-sandbox\\.fiskaltrust\\.at.*" },
- { "pattern": "^https?://rksv\\.fiskaltrust\\.at.*" },
- { "pattern": "^https?://rksv-sandbox\\.fiskaltrust\\.at.*" },
- { "pattern": "^https?://helipad\\.fiskaltrust\\.cloud/?$" },
- { "pattern": "^https?://packages\\.fiskaltrust\\.cloud/?$" },
- { "pattern": "^https?://pos-api\\.fiskaltrust\\.cloud.*" },
- { "pattern": "^https?://pos-api-sandbox\\.fiskaltrust\\.cloud.*" },
- { "pattern": "^https?://receipts\\.fiskaltrust\\.cloud.*" },
- { "pattern": "^https?://receipts-sandbox\\.fiskaltrust\\.cloud.*" },
- { "pattern": "^https?://eur-lex\\.europa\\.eu.*" },
- { "pattern": "^https?://www.bundesfinanzministerium\\.de.*" },
- { "pattern": "^https?://bofip\\.impots\\.gouv\\.fr.*" },
- { "pattern": "^https?://install\\.appcenter\\.ms.*" },
- { "pattern": "^https?://play\\.google\\.com.*" }
- ]
-}
diff --git a/set-chapter-numbers.ps1 b/set-chapter-numbers.ps1
deleted file mode 100644
index ad26aa93..00000000
--- a/set-chapter-numbers.ps1
+++ /dev/null
@@ -1,9 +0,0 @@
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-
-# Get chapter numbering tool from GitHub
-New-Item -Name "tools" -ItemType Directory -Force
-Invoke-WebRequest -Uri https://github.com/TSchmiedlechner/DocFxChapterNumbers/releases/download/v1.0.2/DocFxChapterNumbers-v1.0.2.zip -OutFile "./tools/DocFxChapterNumbers.zip"
-Expand-Archive "./tools/DocFxChapterNumbers.zip" -DestinationPath "./tools/DocFxChapterNumbers" -Force
-
-Rename-Item ./doc ./doc_prev
-./tools/DocFxChapterNumbers/DocFxChapterNumbers.exe ./doc_prev/toc.md ./doc --force
\ No newline at end of file
diff --git a/style.xsl b/style.xsl
deleted file mode 100644
index 14e5ebe2..00000000
--- a/style.xsl
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
-
- Table of Contents
-
-
-
-
- Table of Contents
-
-
-
-
-
-
-
-
-
-
-
- added to prevent self-closing tags in QtXmlPatterns
-
-
-
-
-
-
-